首页 > 代码库 > OpenCV——视频颜色识别
OpenCV——视频颜色识别
#include <opencv2/opencv.hpp>#include <iostream>using namespace std;using namespace cv;int minh,maxh,mins,maxs,minv,maxv;void helptext(){ cout << "B——黑色\n"; cout << "H——灰色\n"; cout << "W——白色\n"; cout << "R——红色\n"; cout << "O——橙色\n"; cout << "Y——黄色\n"; cout << "G——绿色\n"; cout << "L——蓝色\n"; cout << "P——紫色\n"; cout << "输入要求识别的颜色对应的字母:" ;}void deal(char color){ switch(color){ case ‘B‘: minh = 0; maxh = 180; mins = 0; maxs = 255; minv = 0; maxv = 46; break; case ‘H‘: minh = 0; maxh = 180; mins = 0; maxs = 43; minv = 46; maxv = 220; break; case ‘W‘: minh = 0; maxh = 180; mins = 0; maxs = 30; minv = 221; maxv = 255; break; case ‘R‘: minh = 0; maxh = 10; mins = 43; maxs = 255; minv = 46; maxv = 255; break; case ‘O‘: minh = 11; maxh = 25; mins = 43; maxs = 255; minv = 46; maxv = 255; break; case ‘Y‘: minh = 26; maxh = 25; mins = 43; maxs = 255; minv = 46; maxv = 255; break; case ‘G‘: minh = 35; maxh = 77; mins = 43; maxs = 255; minv = 46; maxv = 255; break; case ‘L‘: minh = 100; maxh = 124; mins = 43; maxs = 255; minv = 46; maxv = 255; break; case ‘P‘: minh = 125; maxh = 155; mins = 43; maxs = 255; minv = 46; maxv = 255; break; default: cout << "输入错误" << endl; exit(0); }}int main( ){ VideoCapture capture(0); Mat special; helptext(); char color; cin >> color; deal(color); while(1){ Mat frame; //存储每一帧的图像 capture >> frame; //读取当前帧 Mat fhsv; cvtColor(frame,fhsv,COLOR_BGR2HSV); //将图像转换为HSV模型 inRange(fhsv,Scalar(minh,mins,minv),Scalar(maxh,maxs,maxv),special); //找寻在要求区间内的颜色 imshow("ABC",special); if(waitKey(30) >= 0)break; } return 0;}
OpenCV——视频颜色识别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。