将质心添加到绘图-Matlab

将质心添加到绘图-Matlab,matlab,plot,centroid,Matlab,Plot,Centroid,在下面的脚本中,我得到了图像中的和硬币的坐标,之后它们被绘制出来。如何将使用stat计算的质心(红色,标记为X)添加到绘图中 脚本: clc; clear; I = imread('coins.png'); imshow(I) BW = im2bw(I); BW_filled = imfill(BW,'holes'); stat = regionprops(BW_filled,'centroid'); boundaries = bwboundaries(BW_filled); for k=

在下面的脚本中,我得到了图像中的和硬币的坐标,之后它们被绘制出来。如何将使用stat计算的质心(红色,标记为X)添加到绘图中

脚本:

clc;
clear;
I = imread('coins.png');
imshow(I)
BW = im2bw(I);


BW_filled = imfill(BW,'holes');
stat = regionprops(BW_filled,'centroid');
boundaries = bwboundaries(BW_filled);

for k=1:10
    b = boundaries{k};
    plot(b(:,2),b(:,1),'g','LineWidth',3);
    hold on;
end

之后

还可以对质心点应用任何其他自定义,如

plot(stat(k).Centroid(1), stat(k).Centroid(2), 'rx', 'LineWidth', 3);
解释
stat(k)
将获得
stat
k
th元素
stat(k)。质心
将提取质心作为
[x,y]
,然后我们可以将质心的
x
坐标作为
stat(k).质心(1)
y
作为
stat(k).质心(2)


替代性改进 我建议对代码进行一些改进

  • 全部关闭
    放在脚本顶部。这将关闭所有当前打开的数字
  • 增加
    图;坚持住for
    循环之前进行编码,并从
    for
    循环中删除
    按住
    。呼叫
    等待多次是多余的
添加

之后

还可以对质心点应用任何其他自定义,如

plot(stat(k).Centroid(1), stat(k).Centroid(2), 'rx', 'LineWidth', 3);
解释
stat(k)
将获得
stat
k
th元素
stat(k)。质心
将提取质心作为
[x,y]
,然后我们可以将质心的
x
坐标作为
stat(k).质心(1)
y
作为
stat(k).质心(2)


替代性改进 我建议对代码进行一些改进

  • 全部关闭
    放在脚本顶部。这将关闭所有当前打开的数字
  • 增加
    图;坚持住for
    循环之前进行编码,并从
    for
    循环中删除
    按住
    。呼叫
    等待多次是多余的
plot(stat(k).Centroid(1), stat(k).Centroid(2), 'rx', 'LineWidth', 3);