Blob分析和阈值

4视图(30天)
汉
2018年2月6日
评论道: 图像分析 2018年2月6日
我有两个白色的对象我团分析探测到消息应该“报警是白色的!”
% Blob分析
BlobAnalysis = vision.BlobAnalysis (“连接”8);
(面积、质心、bbox) =步骤(BlobAnalysis BW);
%的盒子
Ishape = insertShape (OriginalImage之下,“矩形”bbox,“线宽”3);
次要情节(2,2,2);
imshow (Ishape);
(行,坳)= (bbox)大小;
i = 1:行
x = bbox(我,1);
y = bbox(我,2);
w = bbox(我,3);
h = bbox(我,4);
TestImage = OriginalImage之下(x (x + w), y: (y + h):);
r = TestImage (:,: 1);
g = TestImage (:: 2);
b = TestImage (:: 3);
次要情节(2,2,3)
imshow (TestImage);
histogram2 (r, g,“DisplayStyle”,“瓦”,“ShowEmptyBins”,“上”,
“XBinLimits”255年[0],“YBinLimits”255年[0]);
直方图(r,“BinMethod”,“整数”,“FaceColor”,“r”,“EdgeAlpha”0,“FaceAlpha”,1)
持有
直方图(g,“BinMethod”,“整数”,“FaceColor”,‘g’,“EdgeAlpha”0,“FaceAlpha”,0.7)
直方图(b,“BinMethod”,“整数”,“FaceColor”,“b”,“EdgeAlpha”0,“FaceAlpha”,0.7)
包含(“RGB值”)
ylabel (“频率”)
标题(颜色直方图的)
xlim (257 [0])
阈值= 128;
= r。* g。* b;
c = 128 * 128 * 128;
如果> = c
对话框(“报警是白色的!”);
其他的
对话框(“好吧”);
结束
清晰的TestImage;
结束
我有一个阈值等于128如果每个对象的颜色直方图大于阈值显示消息“警报…”! !
我认为我的错误是我不知道我可以这么做:
阈值= 128;
= r。* g。* b;
c = 128 * 128 * 128;
如果> = c
对话框(“报警是白色的!”);
其他的
对话框(“好吧”);
结束
我也得到了一些错误:
指数超过矩阵维度。
错误跟踪(25)行
TestImage = OriginalImage之下(x (x + w), y: (y + h):);
谢谢你!

接受的答案

图像分析
图像分析 2018年2月6日
确保bbox整数。拜访()如果有必要。通常这个边界框是半像素像素以外的中心。
2的评论
图像分析
图像分析 2018年2月6日
x不是第一个索引。这是行,y,不是正确的:x。
TestImage = OriginalImage之下((y + h), x: (x + w):);

登录置评。

更多的答案(0)

社区寻宝

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

开始狩猎!