Langsung aja ya :) Copas aja code nya:
//BISMILLAH - Dzikri Purnama - Free to Copy&Paste
//BGR to HSV
//#include "stdafx.h"
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int h_min = 4, h_max = 78, s_min = 50, s_max = 255, v_min = 20, v_max = 255; //oranye
//int h_min = 95, h_max = 100, s_min = 130, s_max = 255, v_min = 150, v_max = 255; //biru
//int h_min = 4, h_max = 24, s_min = 38, s_max = 255, v_min = 150, v_max = 255; //kuning
int main()
{
VideoCapture cap(0);
if(!cap.isOpened())
return -1;
cap.set(CV_CAP_PROP_FRAME_WIDTH,320);
cap.set(CV_CAP_PROP_FRAME_HEIGHT,240);
Mat frame, hsv, grey;
namedWindow("camera");
namedWindow("hsv");
while (true)
{
cap>>frame;
imshow("camera",frame);Kalo udah bisa di compile dan execute buat liat hasilnya :D
cvtColor(frame,hsv,CV_BGR2HSV); inRange(hsv,Scalar(h_min,s_min,v_min),Scalar(h_max,s_max,v_max),hsv);
imshow("hsv",hsv);
if(waitKey(20) != -1)
break;
}
return 0;
}
Sekarang mari kita bahas isi programnya:
int h_min = 4, h_max = 78, s_min = 50, s_max = 255, v_min = 20, v_max = 255; //oranyeKode diatas ini gunanya untuk klasifikasi warna, liat aja itungan nilai orange, biru sama kuning kan beda-beda.
//int h_min = 95, h_max = 100, s_min = 130, s_max = 255, v_min = 150, v_max = 255; //biru
//int h_min = 4, h_max = 24, s_min = 38, s_max = 255, v_min = 150, v_max = 255; //kuning
cvtColor(frame,hsv,CV_BGR2HSV); inRange(hsv,Scalar(h_min,s_min,v_min),Scalar(h_max,s_max,v_max),hsv);Kode diatas gunanya untuk convert dari RGB ke HSV, kemudian memberikan range warna HSV nya. Selanjutnya frame HSV ditampilkan.
imshow("hsv",hsv);
Nah jadi begitu cara kerjanya. Ohya, misal mau bikin seleksi warna merah, hijau, dll nilai HSV nya berapa? Oke abis ini saya akan bahas pembuatan trackbar. Gunanya untuk mengatur range warna yang diinginkan. Trackbar juga sangat berguna untuk melakukan kalibrasi warna. Tunggu saja ya :)
0 Response to "OpenCV Ubuntu C++ - Seleksi warna RGB ke HSV"
Post a Comment