Tutorial OpenCV + Deep Learning: Image Processing Modern dengan Python

# OpenCV + Deep Learning: Tutorial Komprehensif ## Daftar Isi 1. [Pendahuluan](#pendahuluan) 2. [Prasyarat](#prasyarat) 3. [Dasar-Dasar Preprocessing Gambar](#dasar-dasar-preprocessing-gambar) 4. [T...

By Ruby Abdullah · · tutorial
OpenCVDeep LearningComputer VisionImage ProcessingPythonDNN

OpenCV + Deep Learning: Tutorial Komprehensif

Daftar Isi

  • Pendahuluan
  • Prasyarat
  • Dasar-Dasar Preprocessing Gambar
  • Teknik Augmentasi Data
  • Menggunakan Modul DNN untuk Inferensi
  • Deteksi Wajah dengan OpenCV DNN
  • Deteksi Objek dengan Model Pre-trained
  • Pipeline Pemrosesan Video
  • Integrasi dengan PyTorch dan TensorFlow
  • Praktik Terbaik
  • Kesimpulan

  • Pendahuluan

    OpenCV (Open Source Computer Vision Library) merupakan salah satu library yang paling banyak digunakan untuk tugas-tugas computer vision. Ketika digabungkan dengan framework deep learning, OpenCV menjadi toolkit yang sangat powerful untuk membangun aplikasi vision tingkat produksi. Tutorial ini membahas teknik-teknik esensial untuk memanfaatkan OpenCV bersama model deep learning, mulai dari preprocessing gambar dasar hingga deployment pipeline inferensi dengan jaringan saraf pre-trained.

    Baik Anda sedang membangun sistem deteksi wajah real-time, pipeline deteksi objek, atau mengintegrasikan model vision ke dalam aplikasi yang lebih besar, memahami cara OpenCV berinteraksi dengan deep learning adalah keterampilan yang sangat penting.


    Prasyarat

    Sebelum memulai, pastikan Anda telah menginstal paket-paket berikut:

    # Instal paket yang diperlukan
    

    pip install opencv-python opencv-contrib-python numpy

    pip install torch torchvision

    pip install tensorflow

    pip install albumentations

    Persyaratan sistem:
    • Python 3.8 atau lebih tinggi
    • Mesin dengan minimal 8 GB RAM (GPU direkomendasikan untuk pelatihan)
    • Pemahaman dasar tentang Python, NumPy, dan konsep jaringan saraf

    Verifikasi instalasi Anda:

    import cv2
    

    import numpy as np

    import torch

    import tensorflow as tf

    print(f"Versi OpenCV: {cv2.version}")

    print(f"Versi NumPy: {np.version}")

    print(f"Versi PyTorch: {torch.version}")

    print(f"Versi TensorFlow: {tf.version}")


    Dasar-Dasar Preprocessing Gambar

    Preprocessing gambar adalah fondasi dari setiap pipeline computer vision. Preprocessing yang tepat memastikan model deep learning Anda menerima data input yang bersih dan ternormalisasi.

    Membaca Gambar dan Konversi Ruang Warna

    import cv2
    

    import numpy as np

    Membaca gambar (format BGR secara default)

    image = cv2.imread("input.jpg")

    Konversi ruang warna

    rgbimage = cv2.cvtColor(image, cv2.COLORBGR2RGB)

    grayimage = cv2.cvtColor(image, cv2.COLORBGR2GRAY)

    hsvimage = cv2.cvtColor(image, cv2.COLORBGR2HSV)

    labimage = cv2.cvtColor(image, cv2.COLORBGR2LAB)

    Resize dan Normalisasi

    def preprocessuntukmodel(image, targetsize=(224, 224)):
    

    """

    Pipeline preprocessing standar untuk model deep learning.

    Menerima gambar BGR dan mengembalikan tensor yang ternormalisasi.

    """

    # Resize dengan mempertahankan aspect ratio menggunakan padding

    h, w = image.shape[:2]

    scale = min(targetsize[0] / h, targetsize[1] / w)

    newh, neww = int(h scale), int(w scale)

    resized = cv2.resize(image, (neww, newh), interpolation=cv2.INTERLINEAR)

    # Buat kanvas dan tempatkan gambar di tengah

    canvas = np.zeros((targetsize[0], targetsize[1], 3), dtype=np.uint8)

    yoffset = (targetsize[0] - newh) // 2

    xoffset = (targetsize[1] - neww) // 2

    canvas[yoffset:yoffset + newh, xoffset:xoffset + neww] = resized

    # Normalisasi ke rentang [0, 1]

    normalized = canvas.astype(np.float32) / 255.0

    # Terapkan normalisasi mean dan std ImageNet

    mean = np.array([0.485, 0.456, 0.406])

    std = np.array([0.229, 0.224, 0.225])

    normalized = (normalized - mean) / std

    return normalized

    Artikel Terkait

    Tutorial Lengkap Ultralytics: Object Detection dengan YOLO

    Tutorial Lengkap Ultralytics: Object Detection dengan YOLO Ultralytics adalah framework Python yang menyediakan implemen...

    Panduan Lengkap MediaPipe: Computer Vision Made Easy

    Panduan Lengkap MediaPipe: Computer Vision Made Easy MediaPipe adalah framework open-source dari Google untuk membangun ...

    Florence-2: Model Vision Multi-Task dari Microsoft

    Florence-2: Model Vision Multi-Task dari Microsoft Daftar Isi Pendahuluan Prasyarat Instalasi Memuat Model Florence-2

    Supervision: Toolkit Computer Vision dari Roboflow

    Supervision: Toolkit Computer Vision dari Roboflow Dalam proyek computer vision, setelah model mendeteksi objek, Anda ma...