2013-10-30 100 views
1

我使用bwboundaries获取图像边界。它返回整数值。但我需要漂浮像素(空间像素)我该如何解决这个问题?bwboundaries获取图像边界

clc 
clear all 
close all 
grayImage= dicomread('diz'); 

subplot(1, 1, 1); 
imshow(grayImage, []); 

hFH = imfreehand(); 

binaryImage = hFH.createMask(); 

subplot(1, 1, 1); 
imshow(binaryImage); 

structBoundaries = bwboundaries(binaryImage); 
arrayBoundaries=cell2mat(structBoundaries); 

回答

1

试试interparc function on the MATLAB Files Exchange。对于structBoundaries中的第一个结构,输出bwboundaries

px = structBoundaries{1}(:,2); 
py = structBoundaries{1}(:,1); 
N = 100; 
pt = interparc(N,px,py,'spline'); 
plot(px,py,'r*',pt(:,1),pt(:,2),'b-o')