Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 识别不同的红/蓝/绿色调_Image_Matlab_Colors - Fatal编程技术网

Image 识别不同的红/蓝/绿色调

Image 识别不同的红/蓝/绿色调,image,matlab,colors,Image,Matlab,Colors,我正在做一个Matlab程序来识别交通路标。我有不同的道路标志照片,程序必须识别它是什么标志。 然而,我在颜色识别方面遇到了困难,因为照片的对比度不同。我想在每张图片上保留标志的红色和蓝色,并将其他颜色改为黑色。因此,不可能在以下条件下进行: if im(i,j,1) > 0.28 & im(i,j,2) < 0.25 & im(i,j,3) < 0.25 %Red im(i,j,1) = 1 ; im(i,j,2) = 0; im(i,j,3)

我正在做一个Matlab程序来识别交通路标。我有不同的道路标志照片,程序必须识别它是什么标志。 然而,我在颜色识别方面遇到了困难,因为照片的对比度不同。我想在每张图片上保留标志的红色和蓝色,并将其他颜色改为黑色。因此,不可能在以下条件下进行:

if im(i,j,1) > 0.28 & im(i,j,2) < 0.25 & im(i,j,3) < 0.25 %Red

  im(i,j,1) = 1 ;
  im(i,j,2) =  0;
  im(i,j,3) = 0;
如果im(i,j,1)>0.28&im(i,j,2)<0.25&im(i,j,3)<0.25%红色
im(i,j,1)=1;
im(i,j,2)=0;
im(i,j,3)=0;
因为如果我们拍摄所有的图像,会有太多的红色或蓝色阴影

你知道如何处理图像中不同的对比度吗


提前感谢。

我回答了另一个类似问题,并建议将图像转换为HSV。看看,也许对你有用@拉斐尔蒙泰罗嗨,很抱歉我迟了回答。我尝试了你的方法,但是结果似乎无法使用,因为红色没有正确隔离,imshow(imgHSV(:,:,1))给我一个黑白图像,而不是彩色图像。我放了一些屏幕给你一个想法:谢谢你的帮助再次看我的答案。在
imshow
之后,我调用
colormap('hsv')
将灰度值映射到颜色值(仅用于显示)。仔细阅读答案,并尝试一步一步地应用。