Kompilasi OpenCV dengan CMake

Post ini adalah sambungan dari post sebelumnya, instalasi opencv di Linux.

Setelah OpenCV berhasil diinstal, ada beberapa cara untuk melakukan kompilasi program yang menggunakan library tersebut. Pada post kali ini, saya akan menjelaskan bagaimana menggunakan utilitas CMake untuk men-compile-nya.

Agar lebih mudah menggunakan CMake, kita juga perlu menggunakan utilitas pkg-config. Untuk mengetahui apakah pkg-config sudah benar terkonfigurasi dengan OpenCV ketikkan perintah berikut

libs output cropped cflags output cropped

Apabila keluar output yang mirip dengan screenshot di atas, maka pkg-configs sudah sukses terpasang dan dapat digunakan untuk meng-compile proyek dengan library openCV.

Sekarang kita akan coba untuk membuat contoh proyek sederhana di OpenCV dan kita akan menggunakan CMake untuk meng-compilenya. Buat direktori baru untuk file proyek, misalkan di kasus saya, saya buat direktori hellolena di direktori workspace

hellolena cropped

Di dalam direktori ini, ketikkan potongan kode berikut dengan menggunakan text editor pilihan Anda. Pada kasus saya yang digunakan adalah vim.

hellolena c cropped

Setelah itu, buat satu file lagi dengan nama “CMakeLists.txt” (tanpa tanda kutip) yang merupakan file untuk meng-generate Makefile dan masukkan kode berikut.

cmakelists cropped

Buat direktori baru, misalkan build, untuk menaruh file executable hasil kompilasi

mkdir build cropped

Masuk ke direktori ini, dan kemudian jalankan perintah berikut (cmake tambah lokasi file CMakeLists.txt) untuk meng-generate Makefile

cmake build cropped

cmake output cropped

Download file gambar lena, bisa lewat browser ataupun commandline, dan letakkan di direktori build

download lena cropped

Compile dengan menjalankan make

make lena cropped

Jalankan file executable hasil kompilasi

hellolena run cropped

Jika sukses seharusnya keluar windows dengan gambar lena di dalamnya.

hellolena success cropped

Jika ada yang ingin di-edit atau diubah dikodenya, cukup jalankan make lagi di direktori build.

Selamat mencoba :)

Salam