Memilih Sempadan HSV Optimum untuk Pengesanan Warna Menggunakan cv::inRange (OpenCV)
Dalam pemprosesan imej, ruang warna HSV sering digunakan untuk pengesanan warna. Memilih sempadan atas dan bawah HSV yang sesuai adalah penting untuk mengenal pasti warna sasaran dengan tepat. Soalan ini meneroka proses pemilihan untuk imej yang mengandungi penutup oren pada tin kopi.
Walaupun memberikan anggaran nilai pusat HSV sebanyak (22, 59, 100) untuk penutup, percubaan awal menggunakan sempadan (18 , 40, 90) dan (27, 255, 255) membuahkan hasil yang tidak memuaskan. Untuk menangani perkara ini, kita mesti mempertimbangkan isu yang berpotensi dalam skala HSV dan format imej.
Masalah 1: Varian Skala HSV
Aplikasi yang berbeza mungkin menggunakan skala HSV yang berbeza. GIMP menggunakan H = 0-360, S = 0-100, V = 0-100, manakala OpenCV menggunakan H: 0-179, S: 0-255, V: 0-255. Dalam kes ini, nilai rona GIMP (22) hendaklah dibelah dua untuk memadankan skala OpenCV, menghasilkan julat (5, 50, 50) - (15, 255, 255).
Masalah 2: Penukaran Format Imej
OpenCV beroperasi pada imej dalam format BGR, bukan RGB. Oleh itu, adalah perlu untuk mengubah suai garis penukaran warna kepada cv.CvtColor(frame, frameHSV, cv.CV_BGR2HSV). Ini memastikan bahawa imej ditukar dengan betul sebelum pengesanan sempadan HSV.
Dengan menggabungkan pelarasan ini, kami memperoleh hasil yang lebih menjanjikan:
[Imej pengesanan yang dipertingkatkan]
Walaupun output tidak sempurna, ia memberikan pengesanan yang lebih baik pada tudung oren. Pengesanan palsu boleh diminimumkan dengan memilih kontur terbesar yang sepadan dengan tudung.
Kesimpulan
Memilih sempadan HSV yang sesuai melibatkan pertimbangan varians skala dan penukaran format imej yang betul. Dengan menangani isu ini, kami boleh meningkatkan ketepatan pengesanan warna menggunakan cv::inRange dalam OpenCV.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Sempadan HSV untuk Pengesanan Warna Tepat dalam OpenCV?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!