我怎么阈值蓝色颜色仿真软件?金宝app

5视图(30天)
Ercin
Ercin 2012年1月6日
我工作在RGB信号。我从视频设备组块独立的RGB信号。我需要检测蓝颜色。我怎么蓝色信号阈值?我想只有蓝色像素执行。谢谢你!

答案(3)

沃尔特·罗伯森
沃尔特·罗伯森 2012年1月6日
(0,0255)“蓝色”?可能。好吧,(0,0,0)怎么样?(0,0,1)?(0255)?
您需要定义“蓝色”意味着什么你的目的才能继续。
2的评论
Ercin
Ercin 2012年1月6日
设置Autothreshold块吗?我不明白Autotreshold块设置。

登录置评。


Ercin
Ercin 2012年1月6日
红色和绿色对我不是重要原因分离信号和蓝色只有工作。阈值后我将处理与蓝色的形象。
1评论
Ercin
Ercin 2012年1月6日
我需要高蓝色是1,蓝色是0阈值较低。这意味着将图像转换成黑白图像。

登录置评。


乔纳森•沙利文
乔纳森•沙利文 2012年1月6日
也许我可能建议别的东西。我不相信你想基于阈值的一个蓝色的出现在一个像素的绝对数量,而是基于相对数量的蓝色与红色和绿色。
让我们来看看几个不同的颜色:
c1 = [0 0 255);
c2 = (255 0 255);
c3 = [255] 20;
c4 = [0 0 128);
我大胆的猜想c1, c3和c4都足够“蓝色”,而c2肯定不是你寻找的东西。把一个像素的颜色是三维空间的一个向量。你要做的是发现的角度颜色矢量的像素颜色的理想用点积。
例如:
蓝色= [0 0 255);
像素= (10 200);
ang_thres = 25;%度。你应该改变这种以适合您的需求
ang = acosd(点(蓝色/规范(蓝色),像素/规范(像素)));
isBlue =和< = ang_thres;%应用角度阈值
您可能还想应用级阈值(即像素足够黑)。这真的会过滤掉任何微弱的颜色(例如(0 0 1));
例如:
蓝色= [0 0 255);
像素= (10 200);
ang_thres = 25;%度。你应该改变这种以适合您的需求
ang = acosd(点(蓝色/规范(蓝色),像素/规范(像素)));
mag_thres = 64;%你应该改变这种以适合您的需求
杂志=规范(像素);
isBlue =和< = ang_thres &杂志> = mag_thres;%应用这两个阈值
希望这可以帮助!
2的评论
乔纳森•沙利文
乔纳森•沙利文 2012年1月9日
我不太熟悉仿真软件,但这是它将如何在MATLAB完成金宝app。我希望你能找到一个解决方案套件您的需求。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!