最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

houghpeaks

ハフ変換のピークの特定

説明

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

peaks = houghpeaks(___,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');

入力引数

すべて折りたたむ

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

データ型: double

特定するピークの最大数。数値スカラーとして指定します。

データ型: double

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

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

ピークと見なされるための最小値。非負の数値スカラーとして指定します。この値は 0 から Inf までの値をとることができます。

データ型: double

抑制する近傍のサイズ。正の奇数の整数の 2 要素ベクトルとして指定します。"抑制する近傍" は各ピークの近傍で、ピークの特定後に 0 に設定されます。

データ型: double

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

メモ

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

データ型: double

出力引数

すべて折りたたむ

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

拡張機能

R2006a より前に導入