(권장되지 않음) 끌기가 가능한 사각형 생성
imrect
는 권장되지 않습니다. 새 Rectangle
ROI 객체를 대신 사용하십시오. 새 ROI 편의 함수 drawrectangle
도 사용할 수 있습니다. 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.
imrect
객체는 영상 위에 대화형 사각형을 캡슐화합니다.
마우스를 사용하여 사각형의 크기 및 위치를 조정할 수 있습니다. 사각형에는 상황별 메뉴도 있어 모양 및 동작의 특성을 제어합니다. 자세한 내용은 사용법 항목을 참조하십시오.
h = imrect
는 현재 좌표축에서 대화형 방식으로 사각형 배치를 시작하고 imrect
객체를 반환합니다.
h = imrect(
는 hparent
)hparent
로 지정된 객체에서 대화형 방식으로 사각형 배치를 시작합니다.
h = imrect(___,
는 사각형의 동작을 제어하는 이름-값 쌍을 지정합니다.Name,Value
)
대화형 방식 구문으로 imrect
를 호출할 경우 포인터가 영상 위에서 십자 모양 으로 바뀝니다. 마우스를 사용하여 사각형을 만들과 크기와 위치를 조정할 수 있습니다. 사각형이 상황별 메뉴도 지원하므로 이 메뉴를 사용하여 모양과 동작의 특성을 제어할 수 있습니다. 상황별 메뉴에 액세스하려면 사각형을 마우스 오른쪽 버튼으로 클릭합니다.
다음 표에는 imrect
가 지원하는 대화형 방식 동작이 나열되어 있습니다.
대화형 방식 동작 | 설명 |
---|---|
사각형 이동. | 포인터를 사각형 안으로 가져갑니다. 포인터가 십자형 화살표 ![]() |
사각형의 크기 조정. | 포인터를 사각형의 모서리 또는 코너 위로 이동합니다. 포인터 모양이 양방향 화살표 ![]() |
사각형의 색 변경. | 포인터를 사각형 안으로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 색 설정을 선택합니다. |
현재 위치의 좌표 가져오기. | 포인터를 다각형 안으로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 위치 복사를 선택합니다. imrect 가 요소를 4개 가진 위치 벡터를 클립보드에 복사합니다. |
대화형 방식으로 크기를 조정하는 동안 사각형의 현재 종횡비 유지. | 포인터를 사각형 안으로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 종횡비 고정을 선택합니다. |
사각형 삭제. | 포인터를 사각형 안으로 또는 사각형의 모서리 위로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 삭제를 선택합니다. 상황별 메뉴에서 이 옵션을 제거하려면 다음과 같이 Deletable 속성을 false로 설정하십시오. h =
imrect(); h.Deletable = false; |
setResizeable
을 사용하여 사각형의 크기를 조정할 수 없게 하면 종횡비 고정 상황별 메뉴 항목이 제공되지 않습니다.
각 imrect
객체는 다양한 함수를 지원합니다. 전체 목록을 보려면 methods imrect
라고 입력하십시오.
addNewPositionCallback | Add new-position callback to ROI object |
createMask | Create mask within image |
delete | 핸들 객체 삭제 |
getColor | Get color used to draw ROI object |
getPosition | Return current position of ROI object |
getPositionConstraintFcn | Return function handle to current position constraint function |
removeNewPositionCallback | Remove new-position callback from ROI object |
resume | (Not recommended) Resume execution of MATLAB command line |
setColor | Set color used to draw ROI object |
setConstrainedPosition | Set ROI object to new position |
setFixedAspectRatioMode | Preserve aspect ratio when resizing ROI object |
setPosition | (Not recommended) Move ROI object to new position |
setPositionConstraintFcn | Set position constraint function of ROI object |
setResizable | Set resize behavior of ROI object |
wait | (Not recommended) Block MATLAB command line until ROI creation is finished |
영상 위에 사각형 ROI를 표시합니다. 제목에 사각형의 위치를 표시합니다. 사각형을 이동하면 제목이 업데이트됩니다. 사각형의 한쪽 변을 영상의 경계 바깥으로 끌어서 놓아보십시오.
imshow('cameraman.tif')
h = imrect(gca,[10 10 100 100]);
addNewPositionCallback(h,@(p) title(mat2str(p,3)));
사각형을 영상의 원래 XLim
, YLim
범위 내로 제한하려면 makeConstrainToRectFcn
을 사용하여 위치 제약 조건 함수를 지정하십시오.
fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim')); setPositionConstraintFcn(h,fcn);
이제 마우스를 사용하여 사각형을 끌어 보십시오. 사각형이 더 이상 영상 경계를 넘어 확장되지 않습니다.
마우스를 클릭하고 끌어서 놓는 대화형 방식으로 사각형을 배치합니다. MATLAB® 명령줄을 차단하려면 wait
를 사용하십시오. MATLAB 명령줄 실행을 다시 시작하려면 사각형을 더블 클릭하십시오.
imshow('pout.tif');
h = imrect;
position = wait(h);
imrect
에 image 객체를 포함한 좌표축을 사용하면서 위치 제약 조건 함수를 지정하지 않으면 영상 범위의 바깥으로 사각형을 끌어서 놓을 수 있습니다. plot
함수로 생성한 좌표축을 사용하면 좌표축 제한이 사각형의 이동에 맞춰 자동으로 확장됩니다.