Add cara-install-opencv.md

This commit is contained in:
mbahsomo 2026-04-27 08:00:07 +00:00
parent a18c77f6fd
commit c7904d8033
1 changed files with 257 additions and 0 deletions

257
cara-install-opencv.md Normal file
View File

@ -0,0 +1,257 @@
# Panduan Instalasi OpenCV dari Source
Membangun OpenCV dari source memberikan Anda kendali penuh atas fitur, optimasi, dan dependensi yang diinginkan. Berikut panduan lengkapnya.
---
## 📋 Prasyarat
Sebelum memulai, pastikan tools berikut sudah terinstall di sistem Anda:
| Komponen | Minimal Version | Perintah Install (Ubuntu/Debian) |
|----------|----------------|----------------------------------|
| C++ Compiler | GCC/G++ atau Clang | `sudo apt-get install build-essential` |
| CMake | 3.9 atau lebih tinggi | `sudo apt-get install cmake` |
| Git | - | `sudo apt-get install git` |
| wget & unzip | - | `sudo apt-get install wget unzip` |
---
## 🚀 Langkah-Langkah Instalasi
### Langkah 1: Install Dependensi OpenCV
Dependensi ini diperlukan untuk mendukung berbagai fitur OpenCV seperti pemrosesan video, GUI, dan optimasi .
```bash
sudo apt update
sudo apt install -y \
build-essential cmake git pkg-config \
libgtk2.0-dev libgtk-3-dev \
libavcodec-dev libavformat-dev libswscale-dev \
libv4l-dev libxvidcore-dev libx264-dev \
libjpeg-dev libpng-dev libtiff-dev \
libopenexr-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libdc1394-dev libtbb-dev libeigen3-dev \
python3-dev python3-numpy \
libatlas-base-dev gfortran
```
> **Catatan:** Jika Anda ingin menggunakan GTK3 untuk GUI, gunakan `libgtk-3-dev`. Untuk kompatibilitas maksimal, install keduanya .
### Langkah 2: Download Source Code
Buat direktori kerja dan download source OpenCV beserta modul tambahan (contrib) .
```bash
# Buat direktori kerja
mkdir -p ~/opencv_build && cd ~/opencv_build
# Download OpenCV main repository
git clone --branch 4.x https://github.com/opencv/opencv.git
# Download OpenCV contrib modules (opsional, untuk fitur tambahan seperti SIFT/SURF)
git clone --branch 4.x https://github.com/opencv/opencv_contrib.git
```
> **⚠️ PENTING:** Pastikan branch/version `opencv` dan `opencv_contrib` sama untuk menghindari masalah kompatibilitas .
### Langkah 3: Buat Build Directory
```bash
cd opencv
mkdir -p build && cd build
```
Membuat direktori build terpisah menjaga source code tetap bersih dan memudahkan jika ingin rebuild .
### Langkah 4: Konfigurasi dengan CMake
Ini adalah langkah paling krusial. CMake akan memeriksa dependensi dan menyiapkan file untuk proses kompilasi .
**Konfigurasi dasar (minimal):**
```bash
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D OPENCV_GENERATE_PKGCONFIG=ON \
..
```
**Konfigurasi lengkap (dengan Python dan optimasi):**
```bash
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D INSTALL_C_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D WITH_TBB=ON \
-D WITH_V4L=ON \
-D WITH_OPENGL=ON \
-D WITH_GSTREAMER=ON \
-D BUILD_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_ENABLE_NONFREE=ON \
-D BUILD_opencv_python3=ON \
-D PYTHON3_EXECUTABLE=$(which python3) \
-D PYTHON3_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") \
-D PYTHON3_LIBRARY=$(python3 -c "import sysconfig; print(sysconfig.get_config_var('LIBDIR'))")/libpython3.so \
-D PYTHON3_NUMPY_INCLUDE_DIRS=$(python3 -c "import numpy; print(numpy.get_include())") \
..
```
> **Tips:** Untuk melihat semua opsi konfigurasi, gunakan `cmake -LH ..` .
**Penjelasan flag penting:**
| Flag | Fungsi |
|------|--------|
| `CMAKE_BUILD_TYPE=RELEASE` | Build untuk production (tanpa debug symbols) |
| `CMAKE_INSTALL_PREFIX=/usr/local` | Lokasi instalasi |
| `OPENCV_EXTRA_MODULES_PATH` | Path ke modul contrib |
| `OPENCV_GENERATE_PKGCONFIG=ON` | Generate file .pc untuk pkg-config |
| `OPENCV_ENABLE_NONFREE=ON` | Mengaktifkan algoritma berlisensi (SIFT, SURF) |
| `WITH_TBB=ON` | Mengaktifkan Intel TBB untuk parallel processing |
### Langkah 5: Compile (Build)
Proses ini akan memakan waktu cukup lama (30-90 menit tergantung spesifikasi komputer) .
```bash
# Gunakan semua core CPU untuk mempercepat
make -j$(nproc)
```
> **Tips:** Jika komputer Anda memiliki RAM terbatas (<4GB), gunakan `make -j2` untuk menghindari kehabisan memori .
### Langkah 6: Install
```bash
sudo make install
```
### Langkah 7: Update Library Cache
```bash
sudo ldconfig
```
Perintah ini memberitahu sistem tentang library yang baru diinstall .
---
## ✅ Verifikasi Instalasi
Setelah instalasi selesai, verifikasi dengan perintah berikut:
```bash
# Cek versi OpenCV
pkg-config --modversion opencv4
# Cek konfigurasi OpenCV
pkg-config --libs opencv4
pkg-config --cflags opencv4
```
**Verifikasi Python binding:**
```python
python3 -c "import cv2; print(cv2.__version__)"
```
---
## ⚙️ Opsi Konfigurasi Tambahan
### Menginstall ke Lokasi Kustom
```bash
-D CMAKE_INSTALL_PREFIX=$HOME/.local
```
### Mengaktifkan CUDA (untuk NVIDIA GPU)
Jika Anda memiliki GPU NVIDIA dan ingin akselerasi CUDA :
```bash
-D WITH_CUDA=ON \
-D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN="8.6" # Sesuaikan dengan compute capability GPU Anda
```
> **Cara cek compute capability GPU:** `nvidia-smi --query-gpu=compute_cap --format=csv`
### Menonaktifkan Modul yang Tidak Diperlukan
Untuk mempercepat kompilasi, nonaktifkan modul yang tidak digunakan:
```bash
-D BUILD_opencv_python2=OFF \
-D BUILD_TESTS=OFF \
-D BUILD_PERF_TESTS=OFF \
-D BUILD_EXAMPLES=OFF
```
---
## 🐧 Perintah Spesifik OS Lain
### macOS (dengan Homebrew)
```bash
# Install dependensi
brew install cmake git wget
# Download source
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
# Build
cd opencv && mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
..
make -j$(sysctl -n hw.ncpu)
sudo make install
```
### Windows (dengan Visual Studio)
Untuk Windows, prosesnya sedikit berbeda :
1. **Download** pre-built binaries atau source dari [opencv.org/releases](https://opencv.org/releases/)
2. **Install** CMake dari [cmake.org/download/](https://cmake.org/download/)
3. **Buka CMake GUI**, set source dan build directory
4. **Klik Configure**, pilih Visual Studio version (contoh: Visual Studio 16 2019)
5. **Set** `OPENCV_EXTRA_MODULES_PATH` ke path opencv_contrib/modules
6. **Klik Generate**, lalu buka OpenCV.sln di Visual Studio
7. **Build** solution (F7) - pilih **RELEASE** mode
8. **Set environment variable:**
- `OpenCV_DIR` = `C:\opencv\build`
- Tambahkan `C:\opencv\build\x64\vc16\bin` ke **PATH**
---
## ❗ Masalah Umum dan Solusi
| Masalah | Kemungkinan Solusi |
|---------|-------------------|
| CMake tidak menemukan dependensi | Install package yang hilang dengan `apt-cache search <nama>` |
| Build gagal di tengah jalan | Bersihkan build directory: `rm -rf *` lalu konfigurasi ulang |
| Python tidak bisa import cv2 | Pastikan `BUILD_opencv_python3=ON` dan cek path instalasi Python |
| Compile sangat lambat | Kurangi parallel job: `make -j2` atau `make -j1` |
| File .so tidak ditemukan | Jalankan `sudo ldconfig` setelah instalasi |
---
## 💡 Tips Penting
1. **Pilih versi yang stabil** - Gunakan tag versi spesifik (contoh: `4.10.0`) daripada branch `4.x` untuk hasil yang lebih predictable
2. **Simpan log konfigurasi** untuk referensi di masa depan
3. **Gunakan ccache** untuk mempercepat rebuild: `sudo apt install ccache`
4. **Jangan lupa opencv_contrib** jika ingin fitur seperti SIFT, SURF, dan algoritma non-free lainnya
5. **Perhatikan ruang disk** - Build OpenCV membutuhkan ~10-20GB ruang kosong
---
Dengan mengikuti panduan ini, Anda akan memiliki instalasi OpenCV yang fully customized sesuai kebutuhan. Selamat mencoba! 🚀