matlab如何检测圆环像素多少 例如,圆环内一段黑,一段白,如何检测黑白的数目
1个回答
2017-04-24
展开全部
stats = regionprops(L,'Area','Centroid');</p><p>threshold = 0.94;</p><p>% 循环处理每个边界,length(B)是闭合图形的个数,即检测到的陶粒对象个数
for k = 1:length(B)</p><p> % 获取边界坐标'
boundary = B{k};</p><p> % 计算周长
delta_sq = diff(boundary).^2;
perimeter = sum(sqrt(sum(delta_sq,2)));</p><p> % 对标记为K的对象获取面积
area = stats(k).Area;</p><p> % 圆度计算公式4*PI*A/P^2
metric = 4*pi*area/perimeter^2;</p><p> % 结果显示
metric_string = sprintf('%2.2f',metric);</p><p> % 用一个黑色小圆圈标记圆度大于threshold = 0.94 的对象
if metric > threshold
centroid = stats(k).Centroid;
plot(centroid(1),centroid(2),'ko');
end
%设置显示字体
text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','y',...
'FontSize',14,'FontWeight','bold');</p><p>end</p><p>title(['圆度识别结果,越圆越接近1,']);</p><p> </p>
for k = 1:length(B)</p><p> % 获取边界坐标'
boundary = B{k};</p><p> % 计算周长
delta_sq = diff(boundary).^2;
perimeter = sum(sqrt(sum(delta_sq,2)));</p><p> % 对标记为K的对象获取面积
area = stats(k).Area;</p><p> % 圆度计算公式4*PI*A/P^2
metric = 4*pi*area/perimeter^2;</p><p> % 结果显示
metric_string = sprintf('%2.2f',metric);</p><p> % 用一个黑色小圆圈标记圆度大于threshold = 0.94 的对象
if metric > threshold
centroid = stats(k).Centroid;
plot(centroid(1),centroid(2),'ko');
end
%设置显示字体
text(boundary(1,2)-35,boundary(1,1)+13,metric_string,'Color','y',...
'FontSize',14,'FontWeight','bold');</p><p>end</p><p>title(['圆度识别结果,越圆越接近1,']);</p><p> </p>
东莞大凡
2024-11-14 广告
2024-11-14 广告
标定板认准大凡光学科技,专业生产研发厂家,专业从事光学影像测量仪,光学投影测量仪.光学三维测量仪,光学二维测量仪,光学二维测量仪,光学三维测量仪,光学二维测量仪.的研发生产销售。东莞市大凡光学科技有限公司创立于 2018 年,公司总部坐落于...
点击进入详情页
本回答由东莞大凡提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询