在Matlab中区分彩色掩模

时间:2012-10-05 11:32:30

标签: matlab image-processing computer-vision

该项目旨在检测彩色方块,并相应地将控制信号发送到微控制器

这是我处理过的Image的输出..

RED:

enter image description here

格林:

enter image description here

如果检测到红色方块,则matlab通过串口发送字符“R” 如果检测到GREEN Square,则matlab通过串口发送字符'G'

区分已处理图像和发送数据的任何想法/技巧??

如果RED Square出现布尔值red=true,并且当GREEN suware出现布尔值green=true

稍后或者我可以检查布尔值并发送字符true

1 个答案:

答案 0 :(得分:4)

如果您的所有图像都像您在示例中显示的那样简单,则图像处理部分非常简单。您可以简单地检查哪个频道更占优势,红色或绿色。

   green = im(:,:,2);
   red = im(:,:,1);
   if sum( green(:)) > sum(red(:))
       % Send green!
   else
       % Send red!
   end

如果图片不是那么简单,您可以将图片转换为HSV色彩空间,并查看占优势的Hue是什么,除了Sat小于Hue的图像一些门槛。需要后一部分才能从决策中删除黑色像素(它们往往几乎是随机的{{1}})。

您可以在此处阅读controlling serial ports