2013-07-09 1 views
2

중간에 패턴이 있고 주변에 흰색 영역이있는 이미지가 있습니다. 과도한 불필요한 흰색 영역을 생략하고 즉 ROI를 자동으로 선택하면서 직사각형 패턴 만 잘라내 길 바랐습니다. 이제는 이미지를 그레이 스케일로 변환하고 픽셀 값이 255이고 찾을 수없는 모든 점을 찾는 방법으로 시도했습니다.matlab에서 자동으로 ROI 선택

그 이후로는 비 백색 픽셀의 x와 y의 최대 값과 최소값을 사용하여 imcrop에서 사용할 직사각형을 정의 할 수 있습니다.하지만 어떤 이유로 기대했던 것과 완전히 일치하지 않습니다. 누구든지 나에게 무슨 문제에 대한 아이디어를 줄 수 있습니까?

여기

function [] = Roi() 

imgData=rgb2gray(imread('1.jpg')); 

[A,B]=find(imgData~=255); 

xmin=min(A); 

xmax=max(A); 

ymin=min(B); 

ymax=max(B); 

width = xmax - xmin; 

height = ymax - ymin; 

imgSelect = imcrop(imgData,[xmin,ymin,width,height]); 

imshow(imgSelect); 

end 

답변

2

find 반환 형식 \ 및 NOT X/Y 결과 코드입니다. 당신의 코드가 작동하는 단지 MATLAB에서 자동으로 ROI를 선택하는 고급 방법

[B, A] = find(imgData ~= 255); 
+0

thanks..that을 하나의 문제를 해결했지만 어떤 이유로이 방법으로 적절한 ROI를 얻을 수 없습니다. – Roy

+0

제안 사항이 있으십니까? – Roy

+0

@ 로이 "적절한 ROI를 얻을 수 없다"는 것은 무엇을 의미합니까? 어떤 문제가 해결되었고 아직도 어떤 문제가 있습니까? 예제 이미지, 현재 추출 된 ROI 및 원하는 ROI를 업로드 할 수 있습니까? – Shai

관련 문제