1,需要根据需求改下HSV三个变量的范围

if (!(((H > 0) && (H < 9)) || (H > 160) && (H < 180)&& (S >= 22 && S <= 140) /*&& (V > 80 && V < 230)*/)){imgHSV.at<Vec3b>(i, j)[0] = 0;imgHSV.at<Vec3b>(i, j)[1] = 0;imgHSV.at<Vec3b>(i, j)[2] = 0;}else {imgRGB.at<Vec3b>(i, j)[0] = 0;imgRGB.at<Vec3b>(i, j)[1] = 0;imgRGB.at<Vec3b>(i, j)[2] = 255;}}}

void redDetectHSV(Mat imgOriginal) {Mat imgHSV;Mat imgRGB = imgOriginal.clone();vector<Mat> hsvSplit;cvtColor(imgOriginal, imgHSV, COLOR_BGR2HSV); //Convert the captured frame from BGR to HSV//因为我们读取的是彩色图,直方图均衡化需要在HSV空间做Mat imgThresholded;for (int i = 0; i < imgHSV.rows; i++){for (int j = 0; j < imgHSV.cols; j++){int H = imgHSV.at<Vec3b>(i, j)[0];int S = imgHSV.at<Vec3b>(i, j)[1];int V = imgHSV.at<Vec3b>(i, j)[2];/*opencv 的H范围是0~180,红色的H范围大概是(0~8)∪(160,180)S是饱和度,一般是大于一个值,S过低就是灰色(参考值S>80),V是亮度,过低就是黑色,过高就是白色(参考值220>V>50)。*/if (!(((H > 0) && (H < 9)) || (H > 160) && (H < 180)&& (S >= 22 && S <= 140) /*&& (V > 80 && V < 230)*/)){imgHSV.at<Vec3b>(i, j)[0] = 0;imgHSV.at<Vec3b>(i, j)[1] = 0;imgHSV.at<Vec3b>(i, j)[2] = 0;}else {imgRGB.at<Vec3b>(i, j)[0] = 0;imgRGB.at<Vec3b>(i, j)[1] = 0;imgRGB.at<Vec3b>(i, j)[2] = 255;}}}namedWindow("imgRGB", WINDOW_NORMAL);imshow("imgRGB", imgRGB); //show the thresholded imagewaitKey(0);
}void redDetectBRG(Mat src,Mat mask) {cvtColor(src, src, COLOR_BGR2RGB);Mat img = Mat(src.rows, src.cols, CV_8UC1);for (int i = 0; i < src.rows; i++){for (int j = 0; j < src.cols; j++){unsigned char *a = &(src.data[i * src.step[0] + j * src.step[1]]);if (is_red_point(&(src.data[i * src.step[0] + j * src.step[1]]))){img.data[i * src.cols + j] = 255;}else{img.data[i * src.cols + j] = 0;}}}imshow("abc", img);waitKey(0);
}

RGB

void redDetectBRG(Mat src) {cvtColor(src, src, COLOR_BGR2RGB);Mat img = Mat(src.rows, src.cols, CV_8UC1);for (int i = 0; i < src.rows; i++){for (int j = 0; j < src.cols; j++){unsigned char *a = &(src.data[i * src.step[0] + j * src.step[1]]);if (is_red_point(&(src.data[i * src.step[0] + j * src.step[1]]))){img.data[i * src.cols + j] = 255;}else{img.data[i * src.cols + j] = 0;}}}imshow("abc", img);waitKey(0);
}

opencv c++ 检测红色HSV 和RGB相关推荐

  1. 基于OpenCV的火焰检测(二)——RGB颜色判据

    上文跟大家分享了在做火焰检测中常用到的图像预处理方法,从这一篇博文开始,我将向大家介绍如何一步一步地检测出火焰区域.火焰提取要用 到很多判据,今天我要向大家介绍的是最简单的但是很有效的判据--RGB判 ...

  2. OpenCV联合Image Watch使用中关于RGB和HSV转换相关知识点

    在openCV开发中,为了方便调试过程观看图像,一般使用VS插件Image Watch. ImageWatch显示图片时,放到最大后,每个像素上有三个数字,从上到下依次为B.G.R通道值,如下图. 转 ...

  3. Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)

    Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...

  4. OpenCV皮肤检测技术对比与总结

    opencv做皮肤检测的技术总结.那首先列一些现在主流的皮肤检测的方法都有哪些: RGB color space Ycrcb之cr分量+otsu阈值化 YCrCb中133<=Cr<=173 ...

  5. OpenCV实例 识别红色瓶盖并框出

    学完opencv和图像处理基础部分后,可以找一些实例来考察自己的掌握程度,难度一点一点上升. 要求:使用opencv,实现对图中瓶盖的提取,并画框圈出 这个实例虽然简单,但也是个完整的图像识别的过程, ...

  6. OpenCV皮肤检测方法

    一:基于RGB的皮肤检测 根据RGB颜色模型找出定义好的肤色范围内的像素点,范围外的像素点设为黑色. 查阅资料后可以知道,前人做了大量研究,肤色在RGB模型下的范围基本满足以下约束: 在均匀光照下应满 ...

  7. OpenCV --- 皮肤检测技术

    方法一:基于RGB的皮肤检测 根据RGB颜色模型找出定义好的肤色范围内的像素点,范围外的像素点设为黑色. 查阅资料后可以知道,前人做了大量研究,肤色在RGB模型下的范围基本满足以下约束: 在均匀光照下 ...

  8. 如何使用 OpenCV Python 检测颜色

    作者 | 小白 来源 | 小白学视觉 在这篇文章中,我们将看到如何使用 Python 中的 OpenCV 模块检测颜色,进入这个领域的第一步就是安装下面提到的模块. pip install openc ...

  9. matlab ycrcb肤色检测,基于HSV与YCrCb颜色空间进行肤色检测的研究

    862012. 10 电脑编程技巧与维护 1 引言 皮肤检测是人脸检测.手势识别等任务的关键步骤.因此,如果能增加肤色识别的准确性就可以提高人脸识别.手势识别的准确性.而肤色识别的准确性又受到多种因素 ...

  10. 颜色空间模型(HSV\LAB\RGB\CMYK)

    通过Photoshop的拾色器,我们知道表征颜色的模型的不止一种,本文将系统并且详细讨论这四种模型(HSV.LAB.RGB和CMYK)之间的联系以及应用. 本文部分章节整合了多位优秀博主的博客(链接见 ...

最新文章

  1. 关于学习Python的一点学习总结(37->集合运算)
  2. CVPR 2022 | 南开程明明团队和天大提出LD:目标检测的定位蒸馏
  3. 深度盘点 Python11 个主流框架:Pandas、Django、Matplotlib、Numpy、PyTorch......
  4. 容器化部署实践之Django应用部署(二)
  5. 线性代数可以速成吗_广播/学习吉他速成靠谱吗?真的可以速成吗?
  6. TSM12M触摸芯片注意事项
  7. 问鼎五岳之巅--Java开发手册泰山版心得分享
  8. Win10开发UWP使用.Net Native编译时遇到的一些问题。
  9. mysql 5.7 flashback_Flashback for MySQL 5.7
  10. 中国恒大:半个月网上售房近10万套 认购金额1026.7亿元
  11. 2019交通顶级期刊_2019年顶级11面试准备书
  12. 计算机如何手动新建服务启动项,电脑开机设置怎么设置启动项
  13. QBitmap 单色图片
  14. 《机器学习》总结与心得
  15. Kafka结合Spark-streaming 的两种连接方式(AWL与直连)
  16. [附源码]SSM计算机毕业设计领导干部听课评课管理系统JAVA
  17. 华为手机自带浏览器不支持 ES6 语法
  18. 惠州市政企信息化(互联网)市场调研报告
  19. ES数据架构与关系数据库Mysql对比,例如mysql库对应es索引
  20. 阿德莱德大学计算机科学,School of Computer Science

热门文章

  1. 《Web安全之深度学习实战》笔记:第三章 循环神经网络
  2. 软件测试-mocha入门
  3. 在Linux下使用金山词霸2003(转)
  4. html ul 的类别,CSS 类表样式(ul)
  5. PHP安装Xdebug
  6. WDF pci驱动开发的若干总结
  7. Java 编程练习之:101-200之间的素数
  8. 技术岗网上测评-智力题
  9. SimpleSniffer—ReadMe
  10. Index.ANALYZED in lucene4 is deprecated