给你一个例子吧,附件中是一幅CT图像,骨骼中有孔洞,运行下面代码,提取骨骼,填补骨骼中孔洞,求骨骼外边缘周长- I = imread('ct019.JPG');
- BW = im2bw(I,0.3);
- [m,n] = size(BW);
- figure(1)
- imshow(BW)
- [ybb,xbb] = find(BW); %提取图像坐标
- nxx = min(xbb); %图像上最左边点的横坐标
- meanxx = round(mean(find(xbb==nxx)));
- nbb = ybb(meanxx); %图像上最左边点的纵坐标
- %填充内外边界的内部
- BW(1:nbb,1:n) = bwfill(BW(1:nbb,1:n),'holes');
- BW(nbb+1:m,1:n) = bwfill(BW(nbb+1:m,1:n),'holes');
- %二值图像标注
- L = bwlabel(BW);
- %求周长
- Perimeter = regionprops(L,'Perimeter')
- figure(2)
- imshow(BW)
复制代码
[ 本帖最后由 ChaChing 于 2009-5-23 12:46 编辑 ] |