我有一个大约300个质心点的列表。这些点是我拥有的BW图像的conncomps的质心。有没有办法在原始rgb图像上绘制质心点?
答案 0 :(得分:0)
没问题。有这个简短的脚本:
img = imread('rice.png');
bg = imopen(img,strel('disk',15));
img2 = img - bg;
mask = im2bw(img2, 0.19);
mask = bwareaopen(mask, 40);
cc = bwconncomp(mask, 4);
positionArray = regionprops(cc, {'Centroid'});
positionArray = struct2cell(positionArray);
positionArray = cellfun(@transpose, positionArray, 'UniformOutput',false);
positionArray = cell2mat(positionArray);
imshow(img);
hold on;
scatter(positionArray(1, :), positionArray(2, :), 200, 'g+');
您可以根据需要改变标记尺寸和形状。这种情况下的点存储为2×n矩阵,第一行中的x坐标和第二行中的y坐标。
首先,使用imshow绘制图像本身。然后,调用scatter()。要将两个项目放在同一组轴上,您必须调用保持。