Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menentukan Nilai Ambang untuk Pengesanan Objek Hijau dalam Imej Semula Jadi dengan Python OpenCV?

Bagaimana untuk Menentukan Nilai Ambang untuk Pengesanan Objek Hijau dalam Imej Semula Jadi dengan Python OpenCV?

Barbara Streisand
Barbara Streisandasal
2024-11-02 21:04:30625semak imbas

How to Define Threshold Values for Green Object Detection in Natural Images with Python OpenCV?

Tentukan Nilai Ambang untuk Pengesanan Objek Hijau dalam Imej Asli dengan Python OpenCV

Dalam aplikasi penglihatan komputer, mengasingkan warna tertentu daripada imej boleh penting untuk pengesanan dan analisis objek. Dalam persekitaran semula jadi, mentakrifkan nilai ambang yang mengesan objek hijau dengan tepat menimbulkan cabaran.

Untuk menentukan nilai ambang pengesanan warna hijau, pendekatan biasa melibatkan penukaran imej kepada Hue, Saturation, Value (HSV) ruang warna, yang menawarkan cara yang lebih intuitif untuk menentukan julat warna.

Kaedah 1: Menggunakan Julat Warna HSV

Satu strategi ialah mengenal pasti julat HSV yang sepadan dengan warna hijau yang dikehendaki. Sebagai contoh, anda mungkin memilih julat seperti (40, 40, 40) ~ (70, 255, 255) dalam HSV untuk mentakrifkan objek hijau.

Kaedah 2: Menggunakan cv2.inRange()

Kaedah lain melibatkan penggunaan fungsi cv2.inRange() OpenCV. Fungsi ini mengambil dua hujah:

  • Sempadan bawah: Nilai HSV di bawah yang mana piksel harus dianggap bukan hijau.
  • Sempadan atas: Nilai HSV di atas piksel yang harus dianggap hijau .

Contoh: Mengesan Bunga Matahari Hijau

Dalam contoh berikut, kami mengesan kelopak bunga matahari hijau dalam imej:

<code class="python">import cv2
import numpy as np

# Read image
img = cv2.imread("sunflower.jpg")

# Convert to HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

# Define HSV range for green (36, 25, 25) ~ (70, 255, 255)
mask = cv2.inRange(hsv, (36, 25, 25), (70, 255, 255))

# Slice the green
imask = mask > 0
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]

# Save
cv2.imwrite("green.png", green)</code>

Dengan menukar imej kepada HSV dan menggunakan nilai ambang, kami boleh mengasingkan kawasan hijau dalam imej dengan berkesan sambil menukar kawasan bukan hijau kepada warna lain (mis., hitam).

Atas ialah kandungan terperinci Bagaimana untuk Menentukan Nilai Ambang untuk Pengesanan Objek Hijau dalam Imej Semula Jadi dengan Python OpenCV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn