2012-06-16 3 views
1

대부분의 원치 않는 가장자리를 제거하려면 이미지의 구성 요소를 연결하고 오일러 번호에 따라 정확히 하나의 구멍이없는 구성 요소를 필터링해야합니다.이미지 처리 Matlab

이미지 처리 기능 bwconncompregionprops을 사용해야한다는 것을 알고 있지만 경험이 없습니다.

내 코드입니다 :

rgb=imread('2whgyzr.jpg'); 
gray_scale = rgb2gray(rgb); 
BW3 = edge(gray_scale,'canny',[],1); 

이 이미지입니다 : 사전

답변

2

에서

http://tinypic.com/r/2whgyzr/6

덕분에 나는 귀하의 질문에 정확한 이해한다면이 작업을 수행해야합니다

filtered = false(size(BW3)); 
CC = bwconncomp(BW3); 
CC_props = regionprops(CC,'EulerNumber'); 

for cc_idx = 1:length(CC.PixelIdxList) 
    if(CC_props(cc_idx).EulerNumber == 0) 
     pixels = CC.PixelIdxList{cc_idx}; 
     filtered(pixels) = true; 
    end 
end 

imshow(filtered) 

enter image description here

+0

정말 고마워요! 정확히 내가 뭘 찾고 있었는지 !!! – dani