gpt4 book ai didi

c++ - 使用 OpenCV 仅检测图像中的 RGB 蓝色

转载 作者:行者123 更新时间:2023-11-28 00:32:01 26 4
gpt4 key购买 nike

我正在尝试使用 C++ 和 openCV 检测下图中的 3 个蓝色圆圈。

enter image description here

我用这个代码

int main(){
Mat original=imread("img.jpg");
Mat hsv;
cvtColor(original,hsv,CV_BGR2HSV);
Mat bw;
inRange(hsv,Scalar(110,50,50),Scalar(130,255,255),bw);//detects blue
}

此代码确实检测到 3 个蓝色圆圈也检测到其他蓝色点。我认为这与我指定的范围有关。有没有办法只检测那些 RGB 蓝色圆圈,因为我认为图像中没有任何其他点是 RGB 蓝色。 我怎样才能只检测到这种颜色 (255,0,0)??

最佳答案

对于您在上面提供的图像,以下阈值可以正常工作。

Scalar hsv_l(110,150,150); 
Scalar hsv_h(130,255,255);
cvtColor(original,hsv,CV_BGR2HSV);
inRange(hsv,hsv_l,hsv_h,bw)

并且您可以使用鼠标轻松找到任何像素的 HSV 值,如所述 here .

此外,HSV 色轮(下方)可能有助于选择任何颜色并获取其 HSV 值。

HSV Colour wheel

关于c++ - 使用 OpenCV 仅检测图像中的 RGB 蓝色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22499663/

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