该项目旨在检测彩色方块并相应地向微控制器发送控制信号
这是我处理后的图像的输出..
红色的 :
绿色 :
如果检测到红色方块,matlab 通过串口发送字符“R”如果检测到绿色方块,matlab 通过串口发送字符“G”
区分处理后的图像和发送数据的任何想法/技术?
就像 RED Square 出现布尔值red=true
和 GREEN suware 出现布尔值一样green=true
稍后或者我可以检查布尔值并发送字符(如果是)true
该项目旨在检测彩色方块并相应地向微控制器发送控制信号
这是我处理后的图像的输出..
红色的 :
绿色 :
如果检测到红色方块,matlab 通过串口发送字符“R”如果检测到绿色方块,matlab 通过串口发送字符“G”
区分处理后的图像和发送数据的任何想法/技术?
就像 RED Square 出现布尔值red=true
和 GREEN suware 出现布尔值一样green=true
稍后或者我可以检查布尔值并发送字符(如果是)true
如果您的所有图像都像您在示例中显示的那样简单,那么图像处理部分真的很容易。您可以简单地检查哪个通道更占主导地位,红色或绿色。
green = im(:,:,2);
red = im(:,:,1);
if sum( green(:)) > sum(red(:))
% Send green!
else
% Send red!
end
如果图像不是那么简单,您可以将图像转换为HSV
色彩空间,并检查什么是主要的Hue
,除了那些Sat
小于某个阈值的。需要后一部分才能从决策中删除黑色像素(它们往往几乎是随机的Hue
)。
您可以在此处阅读有关控制串行端口的信息