houghpeaks
허프 변환에서 피크 식별
설명
예제
회전된 영상의 허프 변환에서 피크를 찾아 표시하기
영상을 작업 공간으로 읽어 들입니다.
I = imread('circuit.tif');
이진 영상을 만듭니다.
BW = edge(imrotate(I,50,'crop'),'canny');
영상의 허프 변환을 만듭니다.
[H,T,R] = hough(BW);
영상의 허프 변환에서 피크를 찾고 플로팅합니다.
P = houghpeaks(H,2); imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit'); xlabel('\theta'), ylabel('\rho'); axis on, axis normal, hold on; plot(T(P(:,2)),R(P(:,1)),'s','color','white');
입력 인수
H
— 허프 변환 행렬
숫자형 배열
허프 변환 행렬로, 숫자형 배열로 지정됩니다. 행과 열은 rho
값과 theta
값에 해당합니다. hough
함수를 사용하여 허프 변환 행렬을 만듭니다.
데이터형: double
numpeaks
— 식별할 피크의 최대 개수
1
(디폴트 값) | 양의 정수
식별할 피크의 최대 개수로, 양의 정수로 지정됩니다.
데이터형: double
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: P = houghpeaks(H,2,'Threshold',15);
Threshold
— 피크로 간주할 최솟값
0.5*max(H(:))
(디폴트 값) | 음이 아닌 숫자
피크로 간주할 최솟값으로, 음이 아닌 숫자로 지정됩니다.
데이터형: double
NHoodSize
— 억제 이웃의 크기
양의 홀수 정수로 구성된 요소를 2개 가진 벡터
억제 이웃의 크기로, 양의 홀수 정수로 구성된 요소를 2개 가진 벡터로 지정됩니다. 억제 이웃은 피크가 식별된 후의 각 피크 주위의 이웃으로, 0으로 설정됩니다. NHoodSize
의 디폴트 값은 size(H)/50
보다 크거나 같은 홀수 중 가장 작은 값입니다. NHoodSize
의 차원은 허프 변환 행렬 H
의 크기보다 작아야 합니다.
데이터형: double
Theta
— 허프 변환 theta 값
-90:89
(디폴트 값) | 숫자형 벡터
허프 변환 theta 값으로, hough
함수가 반환하는 숫자형 벡터로 지정됩니다. 벡터의 각 요소는 출력 행렬 H
의 대응하는 열에 대한 theta 값을 지정합니다. houghpeaks
는 피크 억제에 지정된 theta 값을 사용합니다. hough
함수를 사용하여 허프 변환 행렬을 만듭니다.
참고
'Theta'
파라미터를 hough
함수에 대한 입력값으로 지정하는 경우 houghpeaks
함수에 theta
파라미터를 지정해야 합니다. hough
함수의 theta
출력값을 houghpeaks
의 theta
입력값으로 사용하십시오. 이렇게 하지 않으면 피크 억제가 예상치 못한 결과를 만들 수 있습니다.
데이터형: double
출력 인수
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
houghpeaks
함수는 C 코드 생성을 지원합니다(MATLAB® Coder™가 필요함). 자세한 내용은 Code Generation for Image Processing 항목을 참조하십시오.선택적 파라미터 이름
'Threshold'
와'NHoodSize'
는 컴파일타임 상수여야 합니다. 연결된 값은 컴파일타임 상수일 필요가 없습니다.
GPU 코드 생성
GPU Coder™를 사용하여 NVIDIA® GPU용 CUDA® 코드를 생성할 수 있습니다.
사용법 관련 참고 및 제한 사항:
선택적 파라미터 이름
'Threshold'
와'NHoodSize'
는 컴파일타임 상수여야 합니다. 연결된 값은 컴파일타임 상수일 필요가 없습니다.
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)