我想从实时视频流中检测出特定的颜色,例如蓝色。 我写了下面的代码,它显示实时视频流并将其更改为HSV和灰度。由于我对opencv完全陌生,因此我不知道下一步该怎么做。opencv中的颜色检测
有人可以为我完成代码来检测特定的颜色。
#include<opencv\cv.h>
#include<opencv\highgui.h>
using namespace cv;
int main(){
Mat image;
Mat gray;
Mat hsv;
VideoCapture cap;
cap.open(0);
namedWindow("window", CV_WINDOW_AUTOSIZE);
namedWindow("gray", CV_WINDOW_AUTOSIZE);
namedWindow("hsv", CV_WINDOW_AUTOSIZE);
while (1){
cap >> image;
cvtColor(image, gray, CV_BGR2GRAY);
cvtColor(image, hsv, CV_BGR2HSV);
imshow("window", image);
imshow("gray", gray);
imshow("hsv", hsv);
waitKey(33);
}
return 0;
}
请在这里发帖前尝试在线搜索。简单来看,我发现这个页面解释了OpenCV中的颜色检测:http://opencv-srf.blogspot.com/2010/09/object-detection-using-color-seperation.html – fintelia
谢谢!我已经浏览过那个网站,但什么都不懂,但是最终经过一些阅读后,我能够理解该网站给出的代码。 – BBB