问题:
已知某一工业检测系统,检测的任务需要给出每一个工件的中心点位置,以方便后续的具体操作。
原理:
1.对连通域进行标注 使用bwlabel函数
2.测量连通域的中心 使用regionprops函数
3.在原图上画出中心点的坐标
代码:
clear all
I=imread("blocks.png");
%% 检测工件的中心点位置
%标注连通域
[L,num]=bwlabel(I);
%测量连通域的中心
stats = regionprops(L,'Centroid');
%显示原图
figure,
imshow(I);
%在原图上画出中心点
hold on;
for i = 1 : length(stats)
temp = stats(i).Centroid;
plot(temp(1),temp(2),'r.');
title('中心点检测');
end
效果: