2012-03-21 2 views
2

GUI를 만들기 위해 MATLAB을 사용하고 있습니다. datacursormode가 활성화 된 이미지가 있습니다. 이것은 잘 동작하며, 클릭 할 때마다 새로운 포인트가 추가됩니다. 모든 점에 대해 MATLAB은 좌표 (또는 다른 텍스트를 사용하여 업데이트 기능을 사용하여 수정 한 상자)를 표시합니다. 하지만이 텍스트 상자를 제거하려면 어떻게해야합니까? 추가 할 정보가 없어도됩니다.MATLAB 데이터 커서를 사용할 때 데이터 커서 상자 숨기기

감사합니다.

답변

1

datacursormode on은 그래픽 객체에 데이터 팁 표시를 가능하게하는 데 사용됩니다. 즉, 숨기려는 텍스트 상자입니다. 그렇다면 데이터 커서를 사용하는 이유는 무엇입니까?

데이터 커서를 "픽셀 추가"(아마도 픽셀 색상을 변경한다는 의미)의 UpdateFcn 커서를 사용하고 있습니까? 대신 ButtonDownFcn 콜백 함수를 사용하는 것이 좋습니다.

function interactive_image(im) 
    fh = figure; 
    hImage = imshow(im); 
    set(hImage,'ButtonDownFcn',@myfunction) 
end 

function output_txt = myfunction(obj,eventdata,handles) 
    pos = get(gca,'CurrentPoint') 
    x = get(obj,'CData'); 
    x(uint32(pos(1,2)),uint32(pos(1,1))) = 0; 
    set(obj,'CData',x) 
end 

UPDATE :

귀하의 코멘트에 따르면 당신은 더 나은 이미지 처리 도구 상자에서 사용할 수 IMPOINT 기능을 사용할 수 있습니다.

+0

상자 외에도 원하는대로 할 수 있습니다. 내 이미지에 끌어서 놓기/삭제할 수있는 점을 넣으십시오. ButtonDownFcn 콜백을 사용하고 CurrentPoint를 등록 할 수는 있지만 드래그 앤 드롭/포인트 삭제에 대한 코드를 작성해야합니다. – user1254962

+0

답변이 업데이트되었습니다. – yuk

+0

그게 정확히 내가 뭘 필요 한 것, 감사합니다! :) – user1254962