首页 > 编程知识 正文

opencv获取像rgb值,opencv获取片颜色范围

时间:2023-05-05 02:55:24 阅读:252462 作者:4294

相关学习资料:

https://blog.csdn.net/taily_duan/article/details/51506776【OpenCV】HSV颜色识别-HSV基本颜色分量范围

https://blog.csdn.net/qq_15947787/article/details/72784253【opencv】目标识别——HSV颜色识别

https://blog.csdn.net/guyuealian/article/details/77981619OpenCV获取图像某点的颜色值,并设置某点的颜色

https://blog.csdn.net/weijifen000/article/details/84203136利用OpenCV获取图片上某一点的颜色HSV值

https://blog.csdn.net/clp786080772/article/details/51913158Opencv颜色识别

https://www.jianshu.com/p/bb3b316d6936简单颜色识别并跟踪

https://blog.csdn.net/qq78442761/article/details/83056346OpenCV识别指定颜色(黑、灰、白、红、橙、黄、绿、青、蓝、紫)

https://blog.csdn.net/bjbz_cxy/article/details/79712074使用Opencv获取每个像素点的RGB颜色分量/HSV颜色分量

 

判断颜色时H、S、V的上下区间值(if语句中的取值范围)需要根据实际需要调整,matHsv是HSV格式的图像

vector<int> colorVec; colorVec.push_back(matHsv.at<Vec3b>(rows,cols)[0]); colorVec.push_back(matHsv.at<Vec3b>(rows,cols)[1]); colorVec.push_back(matHsv.at<Vec3b>(rows,cols)[2]); if((colorVec[0]>=174&&colorVec[0]<=180)&&(colorVec[1]>=236&&colorVec[1]<=242)&&(colorVec[2]>=238&&colorVec[2]<=244)){ //cout<<colorVec[0]<<","<<colorVec[1]<<","<<colorVec[2]<<endl; //return 'R'; cout<<"red"<<endl; } else if((colorVec[0]>=57&&colorVec[0]<=63)&&(colorVec[1]>=239&&colorVec[1]<=245)&&(colorVec[2]>=232&&colorVec[2]<=238)){ //return 'G'; cout<<"green"<<endl; } else{ cout<<"other"<<endl; }

下面是在一段视频中截取某一帧,将其特定像素的HSV作为颜色判断参考值的代码

VideoCapture capture; capture.open( "/home/wfl/Desktop/test/record.mp4" ); Mat image; Mat matHsv; long frameToStart =7970; capture.set( CV_CAP_PROP_POS_FRAMES, frameToStart ); capture>>image; cvtColor(image,matHsv,COLOR_BGR2HSV);//RGB转HSV cout<<"G:"<<static_cast<int>(matHsv.at<Vec3b>(30,1325)[0])<<","<<static_cast<int>(matHsv.at<Vec3b>(30,1325)[1])<<","<<static_cast<int>(matHsv.at<Vec3b>(30,1325)[2])<<endl; cout<<"R:"<<static_cast<int>(matHsv.at<Vec3b>(27,1444)[0])<<","<<static_cast<int>(matHsv.at<Vec3b>(27,1444)[1])<<","<<static_cast<int>(matHsv.at<Vec3b>(27,1444)[2])<<endl; imshow("image",image); waitKey();

H:  0 — 180

S:  0 — 255

V:  0 — 255

在HSV空间各种颜色的范围

图片来自https://blog.csdn.net/taily_duan/article/details/51506776

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。