Tutorial Compile OpenCV 32-bit Menggunakan CMake & Visual Studio

Saat kita mendownload installer OpenCV di website resminya lalu menginstallnya/mengekstraknya, kita akan mendapatkan dua folder utama, yaitu build dan sources. Folder build adalah library yang langsung bisa kita gunakan, sedangkan folder sources adalah library mentah yang bisa kita build sesuai dengan spesifikasi yang kita inginkan, misalnya untuk digunakan di OS 32-bit atau 64-bit, untuk digunakan di Visual Studio, untuk digunakan di CodeBlock, dan lain-lain.

Kenapa harus ada folder build dan sources? Karena kebutuhan user bermacam-macam, dan OpenCV hanya menyediakan pre-build libary yang 64-bit saja. Kenapa OpenCV tidak menyediakan pre-build untuk semua tipe? Karena akan banyak macamnya, dan akan menjadikan ukuran filenya menjadi sangat besar. Sehingga disediakan folder sources agar user dapat mem-build OpenCV sesuai dengan kebutuhan masing-masing.

Pada kesempatan kali ini, saya akan membagikan tutorial tentang cara bagaimana mengcompile OpenCV 32-bit menggunakan CMake dan Visual Studio. Sekali lagi, karena jika kita ingin menggunakan OpenCV di OS 32-bit, kita juga harus menggunakan library OpenCV yang 32-bit dan library versi 32-bit tidak tersedia pre-build dari website resmi OpenCV. Berikut ini adalah step-by-stepnya :

~karena kita akan membuild OpenCV 32-bit, kita juga harus menggunakan OS 32-bit~

(1) Download dan install Visual Studio di website resminya.
Untuk mem-build sources OpenCV, kita memerlukan compiler. Kali ini kita akan menggunakan Visual Studio 2017 Community version, karena ini free dan legal. Default versi dari VS2017 dari websitenya adalah 32-bit. Sekali lagi, karena kita akan mem-build OpenCV 32-bit, kita juga harus menggunakan compiler 32-bit, yang dalam case ini kita menggunakan VS2017. Untuk detail cara install VS2017, saya telah menuliskannya di tutorial install OpenCV di sini (lihat step 1-2 saja).

(2) Download dan ekstrak OpenCV

Download OpenCV di sini. Saran saya, download versi paling akhir (saat ini versi 3.3). Kemudian install/ekstrak OpenCV, dan saran saya letakkan di drive C:.
Tunggu sampai selesai. Maka kamu akan mendapatkan folder baru bernama “opencv” seperti tampilan berikut.

Buka folder OpenCV, maka akan kita dapatkan folder build dan sources-nya.

 

(3) Download dan install CMake

Download di sini. Karena kita akan mem-build OpenCV 32-bit, maka download CMake versi 32-bit (x86). Kemudian install dan tunggu sampai selesai.

(4) Membuat project untuk mem-build OpenCV dengan CMake
Selanjutnya, kita akan membuat project solution Visual Studio menggunakan CMake. Project solution inilah yang akan digunakan oleh Visual Studio untuk meng-compile OpenCV 32-bit. Pertama, buka CMake.

Setting lokasi folder source dari OpenCV yang telah kita ekstrak sebelumnya. Untuk case ini, path kita adalah “c:/opencv/sources”. Dan setting juga difolder mana kita ingin menaruh hasil compile-nya. Pada case ini (gambar di atas), kita akan membuat folder baru bernama result di dalam folder build.

Kemudian, klik tombol “configure“, isikan sebagai berikut.

Selanjutnya, klik “finish” dan tunggu sampai selesai. Maka tampilannya akan seperti ini.

Klik tombol “Generate“, dan tunggu sampai selesai. Maka akan muncul keterangan berhasil seperti ini.

Sampai di sini, project solution Visual Studio kita sudah berhasil dibuat. Kemudian, buka project solution tersebut dengan klik tombol “Open Project” seperti gambar di atas. Maka akan muncul window baru, yaitu Visual Studio 2017 yang akan membuka project kita. Kita juga bisa membuat project tersebut secara manual di folder “result“.

Setelah project terbuka, berikut ini tampilannya. Pastikan window “Solution Explorer” kita muncul. Jika tidak, munculkan dengan cara klik menu “View>Solution Explorer“.

Pastikan mode “Debug” dan “Win32” seperti gambar di atas. Kemudian klik kanan “ALL_BUILD“, pilih “Build“. Ini akan mengcompile library OpenCV 32-bit untuk mode Debug. Anyway, proses ini akan membutuhkan waktu agak lama. Jadi sambil menunggu, bisa dengan melakukan yang lain 🙂

Setelah selesai, ubah “Debug” di atas dengan “Release“, kemudian ulangi klik kanan “ALL_BUILD” dan pilih “Build“. Ini akan mengcompile library OpenCV 32-bit untuk mode “Release“.

Setelah selesai, langkah terakhir adalah klik kanan “INSTALL”, pilih “Build” dan tunggu hingga selesai.

Selamat, sampai sini, kita sudah berhasil selesai mengcompile OpenCV 32-bit kita. Maka akan muncul folder “install” di folder “result” seperti tampilan di bawah ini, berikut isi dari folder “install“.

Isi dari folder “install” inilah yang library OpenCV-32bit yang siap untuk kita gunakan. Kita dapat memindahkahkan folder ini ke folder “build“. Sebelumnya, hapus isi folder “build” kecuali folder “result” seperti tampilan di bawah ini.

Kemudian copy-paste isi folder “install” ke folder “build” tersebut. Maka tampilannya menjadi seperti berikut (setelah selesai, kita bisa hapus folder result, karena sizenya cukup besar dan sudah tidak kita gunakan lagi).

Kita lihat bahwa di gambar di atas ada folder “x86”, yang berarti library OpenCV adalah versi 32-bit (x86) kita. Jika kita lihat isi folder x86 tersebut, maka akan kita temui folder “v15”. v15 adalah kode untuk Visual Studio 2017. Hal ini karena kita compile menggunakan Visual Studio 2017. Di sini, kamu tinggal gunakan library tersebut untuk project Visual Studio kamu, seperti pada tutorial install OpenCV di sini [step 4-6]. Sebagai catatan, file .lib dari hasil compile kita tampak pada gambar di bawah ini. Jadi, kita harus memasukkan semuanya ke project properties Visual Studio kita nanti, atau jika mau, kita bisa memasukkan sesuai kebutuhan library yang kita gunakan.

Berikut ini saya berikan dalam text agar kamu bisa langsung copy-paste.

Untuk mode Debug:

opencv_calib3d330d.lib
opencv_core330d.lib
opencv_dnn330d.lib
opencv_features2d330d.lib
opencv_flann330d.lib
opencv_highgui330d.lib
opencv_imgcodecs330d.lib
opencv_imgproc330d.lib
opencv_ml330d.lib
opencv_objdetect330d.lib
opencv_photo330d.lib
opencv_shape330d.lib
opencv_stitching330d.lib
opencv_superres330d.lib
opencv_video330d.lib
opencv_videostab330d.lib

Untuk mode Release:

opencv_calib3d330.lib
opencv_core330.lib
opencv_dnn330.lib
opencv_features2d330.lib
opencv_flann330.lib
opencv_highgui330.lib
opencv_imgcodecs330.lib
opencv_imgproc330.lib
opencv_ml330.lib
opencv_objdetect330.lib
opencv_photo330.lib
opencv_shape330.lib
opencv_stitching330.lib
opencv_superres330.lib
opencv_video330.lib
opencv_videostab330.lib
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s