Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

houghpeaks

ハフ変換のピークの特定

説明

peaks = houghpeaks(H,numpeaks) は関数 hough が生成したハフ変換行列 H のピークを探します。numpeaks は、特定するピークの最大数を指定します。関数はピークの座標行列を保持する行列 peaks を返します。

peaks = houghpeaks(H,numpeaks,Name,Value) は、名前と値のペアの引数を使用して演算の特性を制御します。

すべて折りたたむ

イメージをワークスペースに読み取ります。

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');

Figure contains an axes object. The axes object with xlabel theta, ylabel rho contains 2 objects of type image, line. One or more of the lines displays its values using only markers

入力引数

すべて折りたたむ

ハフ変換行列。数値配列として指定します。行と列は rhotheta の値に対応します。ハフ変換行列は関数 hough を使用して作成します。

データ型: double

特定するピークの最大数。正の整数として指定します。

データ型: double

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: P = houghpeaks(H,2,'Threshold',15);

ピークと見なされるための最小値。非負の数値として指定します。

データ型: double

抑制する近傍のサイズ。正の奇数の整数の 2 要素ベクトルとして指定します。"抑制する近傍" は各ピークの近傍で、ピークの特定後に 0 に設定されます。NHoodSize の既定値は size(H)/50 以上の最も小さい奇数値です。NHoodSize の次元はハフ変換行列 H のサイズより小さくなければなりません。

データ型: double

ハフ変換 theta 値。関数 hough によって返される数値ベクトルとして指定します。ベクトルの各要素は、出力行列 H の対応する列の theta 値を指定します。houghpeaks はピーク抑制に指定した theta 値を使用します。ハフ変換行列は関数 hough を使用して作成します。

メモ

'Theta' パラメーターを関数 hough への入力として指定する場合、関数 houghpeakstheta パラメーターを指定しなければなりません。関数 hough の出力値 thetahoughpeaks の入力値 theta として使用します。そうでない場合、ピーク抑制は予期しない結果になる可能性があります。

データ型: double

出力引数

すべて折りたたむ

検出されたピークの行座標と列座標。Q 行 2 列の行列として返されます。値 Q は 0numpeaks の範囲です。

拡張機能

バージョン履歴

R2006a より前に導入

参考

|

トピック