問題タブ [hough-transform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1005 参照

artificial-intelligence - ハフ変換を使用して曲線セグメントを検出するためのヒストグラム配列を生成する

私は基本的に、ハフ変換を使用して放物線を検出する背後にある理論を理解しています(つまり、y = a(x --x_c)+ y_c)。

ただし、MatLabに自分で実装して、機能していることを確認したいと思います(事前に作成されたコードを使用して実装したくありません)。誰かが私にいくつかの擬似コードを与えることによって私を助けることができるでしょうか?つまり、MatLab構文などである必要はありません。HTへの入力を提供するために、Cannyエッジ検出器のようなエッジ検出器を使用します。

どんな助けでも素晴らしいでしょう:)。ありがとうございました。

0 投票する
1 に答える
1580 参照

image-processing - 地平線検出

こんにちは、画像の地平線を検出するためにハフ変換はどのように使用されますか? 画像のテクスチャ情報をどのように使用できますか?

0 投票する
1 に答える
1878 参照

image-processing - OpenCVを使用して、画像上の別の点から点の座標を見つける方法

今日、C で OpenCV を使用してハフ変換を使用して円を検出するプログラムを作成しました。このプログラムは 3 つの画像を入力します。各画像には、固定された小さな円と位置が可変の大きな円が含まれています。次に、プログラムは両方の円を認識し、両方の円の中心をマークします。今私がやりたいことは、出力画像で、固定された小さな円の中心に対して、大きな円の中心の (x,y) 座標を表示する必要があることです。「circle.cpp」のコードは次のとおりです。

入力画像と出力画像は次のとおりです。
ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力
ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

目的の (x,y) 座標を表示するには、コードにどのような変更を加える必要があるかを提案してください。どうもありがとう :)

0 投票する
1 に答える
1769 参照

c++ - cvHoughLines2 メモリリーク

OpenCV メソッド HoughLines2 には、現在 (バージョン 2.1.0.6) 以降修正されていないメモリ リークがありますか、それともコードのこの部分に何か問題がありますか?

ありがとうございました

0 投票する
4 に答える
23138 参照

algorithm - ハフ変換を使用した楕円検出

ハフ変換を使用して、2D 空間で楕円の (x0,y0) と "a" と "b" の座標を検出して取得するにはどうすればよいですか?

これは ellipse01.bmp です。

楕円画像

0 投票する
8 に答える
57875 参照

image-processing - 写真の紙の角を検出するアルゴリズム

写真の請求書/領収書/紙の角を検出するための最良の方法は何ですか?これは、OCRの前に、後続の遠近法補正に使用されます。

私の現在のアプローチは次のとおりです。

RGB>グレー>しきい値処理によるキャニーエッジ検出>拡張(1)>小さなオブジェクトの削除(6)>境界オブジェクトのクリア>凸領域に基づいた大きなブログの選択。>[コーナー検出-実装されていません]

このタイプのセグメンテーションを処理するには、より堅牢な「インテリジェント」/統計的アプローチが必要だと思わずにはいられません。トレーニングの例はあまりありませんが、おそらく100枚の画像をまとめることができます。

より広い文脈:

私はmatlabを使用してプロトタイプを作成しており、OpenCVとTesserect-OCRでシステムを実装することを計画しています。これは、この特定のアプリケーションのために解決する必要のある多くの画像処理の問題の最初のものです。ですから、私は自分自身のソリューションを展開し、画像処理アルゴリズムに慣れることを目指しています。

アルゴリズムで処理したいサンプル画像を次に示します。チャレンジしたい場合は、大きな画像がhttp://madteckhead.com/tmpにあります。

ケース1
(出典:madteckhead.com

ケース2
(出典:madteckhead.com

ケース3
(出典:madteckhead.com

ケース4
(出典:madteckhead.com

最良の場合、これは次のようになります。

ケース1-キャニー
(出典:madteckhead.com

ケース1-キャニーを投稿
(出典:madteckhead.com

ケース1-最大のブログ
(出典:madteckhead.com

ただし、他の場合は簡単に失敗します。

ケース2-キャニー
(出典:madteckhead.com

ケース2-キャニーを投稿
(出典:madteckhead.com

ケース2-最大のブログ
(出典:madteckhead.com

すべての素晴らしいアイデアを事前に感謝します!私はSOが大好きです!

編集:ハフ変換の進捗状況

Q:コーナーを見つけるためにハフラインをクラスター化するアルゴリズムは何ですか?回答からのアドバイスに従って、ハフ変換を使用し、線を選択して、それらをフィルタリングすることができました。私の現在のアプローチはかなり粗雑です。請求書は常に画像との位置合わせが15度未満になると想定しています。これが事実である場合、私はラインに対して妥当な結果をもたらすことになります(以下を参照)。しかし、コーナーを推定するために線をクラスター化(または投票)するための適切なアルゴリズムが完全にはわかりません。ハフ線は連続していません。また、ノイズの多い画像では、平行線が存在する可能性があるため、線の原点からの何らかの形または距離が必要です。何か案は?

ケース1 ケース2 ケース3 ケース4
(出典:madteckhead.com

0 投票する
2 に答える
5966 参照

matlab - MATLAB でのハフ変換

ハフ変換を使用してバイナリ イメージ内の最強の線を検出する方法を知っている人はいますか。

-45° から 90° まで 45° のステップでシータを含む (rho; theta) 形式を使用します。また、MATLAB でもアキュムレータ配列を表示するにはどうすればよいですか。

ヘルプやヒントはありますか?

ありがとうございました!

0 投票する
1 に答える
3450 参照

image - OpenCV: ハフ変換を使用した放物線検出

タイプの放物線を検出したい: y^2 = 4a*x 画像 [サイズ: 512 X 512]。アキュムレータ配列 acc[size: 512 X 512 X 512] を用意しました。そのイメージに対応したMATRIXを用意しました。ハフ変換を使用しました。これが私がやった方法です:

次の問題に直面しました。

1) acc[512][512][512] は大量のメモリを消費します。膨大な計算が必要です。配列のサイズを小さくして計算を最小限に抑えるにはどうすればよいですか? 2) acc(i,j,k) の最大値エントリが常に意図した出力を与えるとは限りません。場合によっては、2 番目または 3 番目の最大値、さらには 10 番目の最大値でも意図した出力が得られます。私は約が必要です。'a'、'x1'、'y1' の値 (正確な値ではありません)。

私を助けてください。私のコンセプトに何か問題はありますか?

0 投票する
1 に答える
705 参照

matlab - ハフ変換を使用して類似度を計算する

ハフ行列を使用して、MATLAB で 2 つのバイナリ イメージの類似度を計算できますか?
[H,T,R] = hough(bw)H はハフ行列、bw はバイナリ イメージです。

0 投票する
6 に答える
70146 参照

image - OpenCVによる横線検出

「ドキュメント」からの画像から水平線と垂直線を見つけようとしています。ドキュメントは契約書からスキャンされたページであるため、行は表や契約書ブロックに表示されるものと同じように見えます。

私は仕事のためにOpenCVを試してきました。OpenCV でのハフ変換の実装は、この仕事に役立つように見えましたが、垂直線と水平線をきれいに見つけることができるパラメーターの組み合わせを見つけることができませんでした。エッジ検出ありとなしで試してみました。運がない。誰かが似たようなことをしたことがあるなら、その方法を知りたいです。

OpenCV での HoughP の実験前後の画像を参照してください。それは私ができる最善のことです、http://dl.dropbox.com/u/3787481/Untitled%201.png

だから今、水平線と垂直線(できれば破線も)を確実に見つけることができる別の種類の変換があるかどうか疑問に思っています。

Nuance と ABBYY OCR ツールを使用しているため、この問題は解決可能であることがわかります。これらのツールは、水平線と垂直線の両方を確実に抽出し、線の境界ボックスを返すことができます。

ありがとう!パトリック。