我有一个大约 300 个质心点的列表。这些点是我拥有的 BW 图像的 conncomps 的质心。有没有办法在原始 rgb 图像上绘制质心点?
问问题
540 次
1 回答
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 x n 矩阵,其中 x 坐标位于第一行,y 位于第二行。
首先,图像本身是使用 imshow 绘制的。然后, scatter() 被调用。要将两个项目放在同一组轴上,您必须调用 hold on。
于 2013-08-02T20:15:13.157 回答