2014-03-24 3 views
0

내 질문을 완전히 이해되지 않은 경우 ... 나는 내 문제를 설명하여 명확히하려고합니다 죄송합니다 ...matlab에 그림을 개체로 변환하는 방법?

는 거의 curvey 긴 (바이너리 이미지) 개체가 있습니다. 나는 그것의 최고점에서 가장 낮은 점까지 선을 그리기를 원합니다. 그 후 곡선과 직선 사이의 닫힌 영역을 채워서 면적을 측정하거나 커브의 모든 점과 동일한 목적을위한 선 사이의 거리를 찾습니다. 유일한 보여주는 (나에게 (MATLAB의 그림에서) 좋은 색깔의 라인을 제공

imshow(fnnShrink) 
hold on 
plot([TLx , BRx ],[TLy ,BRy],'-', 'MarkerFaceColor' , 'b') 
hold off 

하지만, 문제는이 라인에 어떤 measurment을 수행 couldnot : 나는 다음과 음모를 사용하여 라인을 그릴 수는 쉽게 알). 여기 친구의 한 사람으로 처리기를 사용하려고해도 내게 줄의 길이 만 제공됩니다 (도움이되지 않음). 내가 시도 솔루션의 하나는 라인 방정식을 사용하여 1 픽셀을 설정하여 내 자신에 의해 선을 만들고 다음과 같이 이미지의 새 개체 라인을 만드는 것입니다 :

m = (TLy - BRy)/(TLx - BRx); % Always Same 
    for i = TLx : 1 : BRx 
     fnnShrink(round(m * (i - TLx) + TLy) , round(i)) = 1; 
     fTest(round(m * (i - TLx) + TLy) , round(i)) = 1; 
    end 

거리의 경우 일부 이미지의이 솔루션 작업 (위쪽 점과 아래쪽 점 사이) (X 축상)은 상대적으로 크고, 거리가 매우 작을 때 (기울기가 음수 일 때) 문제가된다. 나는 연속 선이 아니라 불연속 선만을 가졌다. (위쪽 점과 아래쪽 점 사이의 점군) ... 내 문제는 .. 도와 주실 수 있으면 도와주세요 ...

+1

당신이 기능 'imline'을 시도 않았다, 지금까지 가지고있는 코드를 게시 할 수 imshow이 필요하십니까? http://www.mathworks.com/help/images/ref/imline.html –

+0

친애하는 사용자, 나는 imline 작업을 줄거리의 동일한 원칙으로 생각합니다 ... – user3455597

+0

아니요,'imline'은 이미지에 선을 그릴 수있게합니다. 행의 위치를 ​​돌려줍니다. 그러나 이제는 질문을 편집 했으므로 필요한 것 같지 않습니다. –

답변

-1

실제로 imshow는 matlab의 모든 플로팅 기능으로 플롯을 표시하지 않습니다. 그것은 또한 생성 된 객체에 대한 핸들 (포인터에 해당하는 MATLAB)을 반환합니다. 그래서, 당신은 단지

new_object = imshow(...) 

대신 단지

+0

이것이 어떻게 어떤 방식 으로든 질문과 관련이있는 것은 아닙니다. –

+0

"어떻게 이미지가 MATLAB의 객체입니까?"라는 질문이 "어떻게 이미지를 객체로 변환 할 수 있습니까?" 정말??? –

+0

친애하는 blue_note, 나는 당신이 말한 것을 시도했지만, 내 경우에는 줄의 길이를 줄 뿐이다. – user3455597