Matlab在二进制图像中查找内部轮廓?

时间:2011-03-11 20:34:40

标签: algorithm matlab

HI
我正在使用Matlab 如何在二进制图像中找到内部轮廓。
任何人都可以告诉我一个简单的方法或提供代码示例 这与我的任务有关 谢谢!!

enter image description here

1 个答案:

答案 0 :(得分:2)

您只需使用 bwtraceboundary ,以下是示例:


BW = imread('blobs.png');  
imshow(BW,[]);  
s=size(BW);  
for row = 2:55:s(1)  
   for col=1:s(2)  
      if BW(row,col),  
         break;  
      end  
   end  

   contour = bwtraceboundary(BW, [row, col], 'W', 8, 50,...
                                   'counterclockwise');  
   if(~isempty(contour))  
      hold on;  
      plot(contour(:,2),contour(:,1),'g','LineWidth',2);  
      hold on;  
      plot(col, row,'gx','LineWidth',2);  
   else  
      hold on; plot(col, row,'rx','LineWidth',2);  
   end  
end