Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

imrect

(권장되지 않음) 끌기가 가능한 사각형 생성

imrect는 권장되지 않습니다. 새 Rectangle ROI 객체를 대신 사용하십시오. 새 ROI 편의 함수 drawrectangle도 사용할 수 있습니다. 자세한 내용은 호환성 관련 고려 사항 항목을 참조하십시오.

설명

imrect 객체는 영상 위에 대화형 사각형을 캡슐화합니다.

마우스를 사용하여 사각형의 크기 및 위치를 조정할 수 있습니다. 사각형에는 상황별 메뉴도 있어 모양 및 동작의 특성을 제어합니다. 자세한 내용은 사용법 항목을 참조하십시오.

생성

설명

h = imrect는 현재 좌표축에서 대화형 방식으로 사각형 배치를 시작하고 imrect 객체를 반환합니다.

h = imrect(hparent)hparent로 지정된 객체에서 대화형 방식으로 사각형 배치를 시작합니다.

예제

h = imrect(hparent,position)hparent로 지정된 객체의 position 위치에 끌기가 가능한 사각형을 만듭니다.

h = imrect(___,Name,Value)는 사각형의 동작을 제어하는 이름-값 쌍을 지정합니다.

입력 인수

모두 확장

부모 객체에 대한 핸들로, 핸들로 지정됩니다. 이 부모는 보통 axes 객체이지만, hggroup 객체의 부모일 수 있는 다른 객체가 될 수도 있습니다.

사각형의 위치로, 요소를 4개 가진 [xmin ymin width height] 형식의 벡터로 지정됩니다. 사각형의 최초 크기는 widthxheight이며, 사각형의 왼쪽 위 코너가 (x,y) 좌표(xmin,ymin)에 위치합니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

위치 제약 조건 함수로, 'PositionConstraintFcn'과 함께 함수 핸들이 쉼표로 구분되어 지정됩니다. 마우스를 끌 때마다 fcn이 호출됩니다. 이 함수를 사용하여 사각형을 끌어서 놓는 위치를 제어할 수 있습니다. 유효한 함수 핸들에 대한 자세한 내용은 setPositionConstraintFcn 함수의 도움말을 참조하십시오.

속성

모두 확장

ROI를 삭제할 수 있습니다. true 또는 false로 지정됩니다.

데이터형: logical

사용

대화형 방식 구문으로 imrect를 호출할 경우 포인터가 영상 위에서 십자 모양 으로 바뀝니다. 마우스를 사용하여 사각형을 만들과 크기와 위치를 조정할 수 있습니다. 사각형이 상황별 메뉴도 지원하므로 이 메뉴를 사용하여 모양과 동작의 특성을 제어할 수 있습니다. 상황별 메뉴에 액세스하려면 사각형을 마우스 오른쪽 버튼으로 클릭합니다.

다음 표에는 imrect가 지원하는 대화형 방식 동작이 나열되어 있습니다.

대화형 방식 동작설명
사각형 이동.포인터를 사각형 안으로 가져갑니다. 포인터가 십자형 화살표 로 바뀝니다. 마우스를 클릭한 후 끌어서 사각형을 이동합니다.
사각형의 크기 조정. 포인터를 사각형의 모서리 또는 코너 위로 이동합니다. 포인터 모양이 양방향 화살표 로 바뀝니다. 마우스로 모서리 또는 코너를 클릭한 후 끌어서 놓습니다.
사각형의 색 변경.포인터를 사각형 안으로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 색 설정을 선택합니다.
현재 위치의 좌표 가져오기.포인터를 다각형 안으로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 위치 복사를 선택합니다. imrect가 요소를 4개 가진 위치 벡터를 클립보드에 복사합니다.
대화형 방식으로 크기를 조정하는 동안 사각형의 현재 종횡비 유지. 포인터를 사각형 안으로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 종횡비 고정을 선택합니다.
사각형 삭제.포인터를 사각형 안으로 또는 사각형의 모서리 위로 가져갑니다. 마우스 오른쪽 버튼을 클릭하고 상황별 메뉴에서 삭제를 선택합니다. 상황별 메뉴에서 이 옵션을 제거하려면 다음과 같이 Deletable 속성을 false로 설정하십시오. h = imrect(); h.Deletable = false;

setResizeable을 사용하여 사각형의 크기를 조정할 수 없게 하면 종횡비 고정 상황별 메뉴 항목이 제공되지 않습니다.

객체 함수

imrect 객체는 다양한 함수를 지원합니다. 전체 목록을 보려면 methods imrect라고 입력하십시오.

addNewPositionCallbackAdd new-position callback to ROI object
createMaskCreate mask within image
delete핸들 객체 삭제
getColorGet color used to draw ROI object
getPositionReturn current position of ROI object
getPositionConstraintFcnReturn function handle to current position constraint function
removeNewPositionCallbackRemove new-position callback from ROI object
resume(Not recommended) Resume execution of MATLAB command line
setColorSet color used to draw ROI object
setConstrainedPositionSet ROI object to new position
setFixedAspectRatioModePreserve aspect ratio when resizing ROI object
setPosition(Not recommended) Move ROI object to new position
setPositionConstraintFcnSet position constraint function of ROI object
setResizableSet 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 함수로 생성한 좌표축을 사용하면 좌표축 제한이 사각형의 이동에 맞춰 자동으로 확장됩니다.

호환성 관련 고려 사항

모두 확장

R2018b부터 권장되지 않음

R2006a 이전에 개발됨