0

저는 matlab을 많이 사용하지 않았습니다. 주어진 심장 이미지에서 심장의 왼쪽 및 오른쪽 관상 동맥 부분을 추출해야합니다.Matlab을 사용하여 이미지의 일부를 추출하는 방법

f=imread('heart.jpg'); 
diam=strel('diamond',19); 
line=strel('line',10,90); 
linef=imclose(f,line); 
line120=strel('line',10,120); 
line120f= imclose(f,line120); 
bothline=linef+line120f; 
diamf=imclose(f,diam); 
arterybm=diamf-bothline; 
binaryartery= im2bw(arterybm,0); 
mask=cast(binaryartery,class(f)); 
redPlane=f(:,:,1); 
greenPlane=f(:,:,2); 
bluePlane=f(:,:,3); 
maskedRed=redPlane.*mask; 
maskedGreen=greenPlane.*mask; 
maskedBlue=bluePlane.*mask; 
maskedRGBImage=cat(3,maskedRed,maskedGreen,maskedBlue); 
subplot(2,3,1);imshow(f);title('Input Image');subplot(2,3,2);imshow(diamf);title('imclose with Diamond Mask');subplot(2,3,3);imshow(bothline);title('imclose with Line 120 and 90 mask');subplot(2,3,4);imshow(arterybm);title('Difference of line and diamond');subplot(2,3,5);imshow(binaryartery);title('Convert to binary image');subplot(2,3,6);imshow(maskedRGBImage);title('Apply mask to input image'); 

는 더 나은 방법이있다, 형태 학적 작업에 따라 enter image description here

enter image description here

, 이것은 내가 함께 온되고, 내 이미지?

+3

: 파일 교환에 사용할 수있는 구현이있다? 이미지에 표시 할 수 있습니까? –

+0

혼란 스럽 습니다만 완전히 다른 이미지를 표시했습니다! 어떤 이미지를 가지고 작업하고 있습니까? 입력과 예상 출력을 보여주세요. – Amro

답변

2

이 작업은 대부분의 경우 솔루션이 완벽하게 작동하는 경우 학술 자료로 사용하기에 매우 어렵습니다. 내 제안 : 주제에 대한 기사를 검색하고 "Matlab File Exchange"(http://www.mathworks.com/matlabcentral/fileexchange/)를 시도해보십시오. 운이 좋다면 누군가가 이미이 문제를 해결하고 해결책을 게시했을 것입니다.