将图像Matlab中的轮廓转换为折线
Convert contour to broken line in image Matlab
我在 Matlab 中遇到以下问题:我有一个 2D 闭合轮廓(一组 2D 点坐标)代表此图像中的对象:
我想把它转换成折线轮廓像:dot-line-space-dot-line-space,等等
有没有办法在 Matlab 中解决这个问题?
非常非常感谢
您可以先使用imfill
填充对象,然后使用bwboundaries
对其进行跟踪,然后使用plot
和a given line style绘制结果。
% Load the image in and convert to binary
img = imread('http://i.stack.imgur.com/G4NLh.png');
img = img(:,:,1) > 170;
% Fill in the middle hole and compute the boundary
boundary = bwboundaries(imfill(img, 'holes'));
% Plot the boundary on a black background
plot(boundary{1}(:,2), boundary{1}(:,1), ...
'LineStyle', '-.', ...
'Marker', 'none')
axis image
axis ij
更新
哦...您已经获得了 x/y 分。那好吧!只需使用LineStyle
属性的剧情即可完成你想要的
我在 Matlab 中遇到以下问题:我有一个 2D 闭合轮廓(一组 2D 点坐标)代表此图像中的对象:
我想把它转换成折线轮廓像:dot-line-space-dot-line-space,等等
有没有办法在 Matlab 中解决这个问题? 非常非常感谢
您可以先使用imfill
填充对象,然后使用bwboundaries
对其进行跟踪,然后使用plot
和a given line style绘制结果。
% Load the image in and convert to binary
img = imread('http://i.stack.imgur.com/G4NLh.png');
img = img(:,:,1) > 170;
% Fill in the middle hole and compute the boundary
boundary = bwboundaries(imfill(img, 'holes'));
% Plot the boundary on a black background
plot(boundary{1}(:,2), boundary{1}(:,1), ...
'LineStyle', '-.', ...
'Marker', 'none')
axis image
axis ij
更新
哦...您已经获得了 x/y 分。那好吧!只需使用LineStyle
属性的剧情即可完成你想要的