我用bwbounders得到图像边框它返回整数值。但我需要浮动像素(空间像素)我该怎么解决?

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);

最佳答案

试试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')

关于image - bwboundaries获取图像边框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19692730/

10-12 14:25