2016-12-01 1 views
1

MATLAB 및 이미지 처리에 처음 들어갑니다. 이미지를 전경 및 배경으로 분할 한 다음 출력으로 이진 이미지를 생성하는 방법을 알아야합니다.MATLAB : 세그먼트 이미지

enter image description here

은 이미 온라인 자습서와이를 달성하기 위해 노력하고 이것이 내가 얻을 수 있었다 무엇 : enter image description here

나는 출력으로이 필요 enter image description here

그것의 좋은 시작하지만 정확히 내가 필요로하는 것은 아닙니다.

내 코드 : 당신은 다른 변화를 시도 할 수

se = strel('square',2); 
I = imclose(I,se); 

: 더 나은 노이즈 제거 과정과 전경과 배경 사이의 깨끗한 분리

I = imread('AssignmentInput.jpg'); 
figure; 
imshow(I); 
title('Step-1: Load input image'); 


img_filtered = I; 
for c = 1 : 3 
    img_filtered(:, :, c) = medfilt2(I(:, :, c), [3, 3]); 
end 
figure; 
imshow(img_filtered); 
title('Step-3:Noise Removal'); 

H = fspecial('gaussian'); % Create the filter kernel. 
img_filtered = imfilter(img_filtered,H); % Blur the image. 
Mask = im2bw(img_filtered, 0.9); % Now we are generating the binary mask. 
img_filtered([Mask, Mask, Mask]) = 0; % Now we have the image. 
figure; 
imshow(img_filtered); 
title('Step-5:Segmented Image'); 
+0

저에게 아주 가까운 강아지 같아요. 두 이미지의 차이점은 무엇입니까? – beaker

+0

기본적으로 세 번째 이미지의 색상을 유지하고 두 번째 이미지에 흑백으로 표시해야합니다. –

+0

원래 이미지에 마스크를 적용했기 때문입니다. 'Imshow (~ Mask)'시도해보십시오 – beaker

답변

0

은 또한 같은 형태 학적 작업을 추가 할 수 있습니다 'strel'수업도. 아래 이미지는 2 픽셀의 정사각형을 가진 조작 후입니다. enter image description here