Main Content

corner

(권장되지 않음) 영상에서 코너 점 찾기

corner는 권장되지 않습니다. Computer Vision Toolbox™의 detectHarrisFeatures (Computer Vision Toolbox) 또는 detectMinEigenFeatures (Computer Vision Toolbox)를 대신 사용하십시오.

설명

C = corner(I)는 영상 I에서 코너를 검출하고 그 좌표를 행렬 C로 반환합니다.

C = corner(I,method)는 지정된 method를 사용하여 영상 I에서 코너를 검출합니다.

C = corner(I,N)은 영상 I에서 코너를 검출하고 최대 N개의 코너를 반환합니다.

C = corner(I,method,N)는 지정된 방법(method)과 최대 코너 수(N)를 사용하여 코너를 검출합니다.

예제

C = corner(___,Name,Value)는 코너 검출 알고리즘의 다양한 측면을 제어하는 파라미터와 대응값을 지정합니다.

예제

모두 축소

이 예제에서는 corner 함수를 사용하여 코너를 찾고 원하는 코너의 최대 개수를 조정하여 결과를 조절하는 방법을 보여줍니다.

체커보드 영상을 만듭니다.

I = checkerboard(40,2,2);

영상에서 코너를 찾습니다.

C = corner(I);

원하는 코너의 최대 개수가 디폴트 설정 200인 경우의 코너를 표시합니다.

subplot(1,2,1);
imshow(I);
hold on
plot(C(:,1), C(:,2), '*', 'Color', 'c')
title('Maximum Corners = 200')
hold off

Figure contains an axes object. The axes object with title Maximum Corners = 200 contains 2 objects of type image, line. One or more of the lines displays its values using only markers

원하는 코너의 최대 개수가 3인 경우의 코너를 표시합니다.

corners_max_specified = corner(I,3);
subplot(1,2,2);
imshow(I);
hold on
plot(corners_max_specified(:,1), corners_max_specified(:,2), ...
   '*', 'Color', 'm')
title('Maximum Corners = 3')
hold off

Figure contains 2 axes objects. Axes object 1 with title Maximum Corners = 200 contains 2 objects of type image, line. One or more of the lines displays its values using only markers Axes object 2 with title Maximum Corners = 3 contains 2 objects of type image, line. One or more of the lines displays its values using only markers

입력 인수

모두 축소

회색조 또는 이진 영상으로, m×n 숫자형 행렬로 지정됩니다.

코너 검출 방법으로, Harris 코너 검출 방법의 경우 'Harris'로 지정되고 Shi & Tomasi의 최소 고유값 방법의 경우 'MinimumEigenvalue'로 지정됩니다.

corner 함수가 반환할 수 있는 최대 코너 수로, 양의 정수로 지정됩니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: corner(I,'QualityLevel',0.2)는 영상 I의 코너의 최소 품질 수준을 0.2로 지정합니다.

분리 가능한 평활화 필터의 필터 계수로, 'FilterCoefficients'와 함께 숫자형 벡터가 쉼표로 구분되어 지정됩니다. 벡터 V는 최소 3 이상의 홀수 길이를 가져야 합니다. 외적 V*V'는 전체 필터 커널을 제공합니다. 디폴트 필터 계수는 fspecial('gaussian',[5 1],1.5)로 지정됩니다.

코너에 대해 허용되는 최소 품질로, 'QualityLevel'과 함께 (0, 1) 범위의 숫자형 스칼라가 쉼표로 구분되어 지정됩니다. 품질 수준 Q에 대해, 툴박스는 코너 메트릭 값이 Q * max(corner metric)보다 작은 후보 코너를 기각합니다. 실수로 검출된 코너를 제거하려면 더 큰 Q 값을 사용하십시오.

Harris 검출 알고리즘에서 사용되는 감도 인자로, 'SensitivityFactor'와 함께 (0, 0.25) 범위의 숫자형 스칼라가 쉼표로 구분되어 지정됩니다. 감도 인자가 작을수록 알고리즘이 예리한 코너를 검출할 확률이 커집니다. 이 파라미터는 'Harris' method에서만 사용하십시오.

출력 인수

모두 축소

영상 I에서 검출된 코너 점의 x, y 좌표로, p×2 행렬로 반환됩니다.

데이터형: double

corner 함수와 cornermetric 함수는 모두 영상에서 코너를 검출합니다. 대부분의 응용 사례에서 한 번에 코너를 찾으려면 간소화된 corner 함수를 사용하십시오. 코너 선택을 세부적으로 제어하려면 cornermetric 함수를 사용하여 코너 메트릭 행렬을 계산한 후에 직접 알고리즘을 작성하여 피크 값을 찾으십시오.

알고리즘

corner 함수는 후보 코너에 대해 비최댓값 억제를 수행하며, 코너 간에는 최소 2개 픽셀의 간격이 있습니다.

버전 내역

R2010b에 개발됨

참고 항목

| (Computer Vision Toolbox) | (Computer Vision Toolbox)