2012-05-30 2 views
2

여러 가지 MSER 영역을 다른 색으로 플로팅하여 분할하는 방법을 시각화하고 싶지만 컴퓨터 비전 도구 상자의 MSERRegions.plot() 메서드는 'Color' 인수를 허용하지 않습니다. hold all을 사용하면 후속 플롯이 색상을 순환합니다. (지역 타원의 모든 항상 밝은 녹색으로 그려져 있습니다.) 여기 MATLAB에서 MSERRegions.plot()이 사용하는 색상 제어?

내가 할 노력하고있어 명확히하기위한 예제 플롯이다 :

enter image description here

내가으로 아래의 지역을 분할했다 세 개의 개별 그룹으로 나뉘었고 각 그룹을 다른 색으로 그려 보려고합니다. 이 작업을 수행하는 간단한 방법이 있습니까?

답변

2

간단하지만 "해킹하는"방법은 Children 개의 객체를 Axes으로 가져온 다음 해당 객체에 색상을 설정하는 것입니다.

childrenObjs = get(gca,'Children'); 
set(childrenObj, 'Color', desiredColor); 

먼저 줄이 그려지면 어린이 개체에 실제로 색 속성이 있어야합니다. handle(child)을 호출하여 자식 객체의 유형을 파악할 수 있습니다.

마지막으로 각 그룹에 특정 색을 설정하려면 첫 번째 그룹을 그린 후에 색을 설정하십시오. 두 번째 그룹을 가져 와서 새로운 핸들을 확인하고 새 핸들에서만 색상을 설정합니다. 세 번째 그룹에 대해이 작업을 다시 수행하십시오.

+0

당신이 말한대로, 그것은 약간의 해킹입니다 ...하지만 그것은 일을합니다. 감사! –