gpt4 book ai didi

c++ - 具有相似颜色背景的OpenCV颜色检测

转载 作者:太空宇宙 更新时间:2023-11-03 22:00:58 25 4
gpt4 key购买 nike

我正在使用 OpenCV 从具有不同背景和光照条件的图像中检测红色区域:

A) 理想条件:

enter image description here

B) 相似色背景:

enter image description here

C) 弱光:

enter image description here

我主要尝试使用 inRange .首先在 BGR 颜色空间中,通过提取最小红色值约为 200 的像素。这在 AB 中效果很好,但在 C (弱光)。我尝试将图像转换为 HSV 并执行 inRange对于红色(借用 here ):

Mat imgThresholded;
Mat imageHSV;
cvtColor(src, imageHSV, CV_BGR2HSV);

int iLowH = 0;
int iHighH = 50;

int iLowS = 100;
int iHighS = 255;

int iLowV = 80;
int iHighV = 255;

inRange(imageHSV,
Scalar(iLowH, iLowS, iLowV),
Scalar(iHighH, iHighS, iHighV),
imgThresholded);

return imgThresholded;

它适用于 AC,但不适用于 B

哪种方法最好?

谢谢!

最佳答案

RGB 几乎总是错误的机器视觉色彩空间。 HSV 是一种很好的方法 - 由于相机的响应,您可能需要根据整体亮度调整范围

关于c++ - 具有相似颜色背景的OpenCV颜色检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25942649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com