問題タブ [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 投票する
2 に答える
7421 参照

image-processing - ハフ変換に基づく道路検出

ハフ変換を使用して、自動運転車で道路を検出および追跡することは可能ですか?もしそうなら、これをすでに実装しているアルゴリズムはありますか?私は本当に私の頭の上にないものを見つけることができなかったので、1つへのリンクが大好きです。

特に、2本の直線の消失点を使用して車両の進行方向を決定するアルゴリズムを探しています。ただし、その仕事を実行する他のより単純なアルゴリズムがある場合は、それらも見ていきたいと思います。

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

c++ - OpenCV を変更して新しい DLL を生成する方法

OpenCV ライブラリは素晴らしいです。ほとんどの関数には必要な機能がありますが、特定のニーズに合うように関数の一部を変更して再コンパイルしたいと考えています。dll やその他のファイルを再コンパイルするにはどうすればよいでしょうか。組み込みのスクリプトはありますか、それともすべてのスクリプトを自分で作成する必要がありますか?

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

algorithm - 無限性を解決するために座標を 3 つの部分空間に分割する

Cascaded Hough Transform を実装しようとしています (「通常の」バージョンは既に実装しています) が、次のことを理解できません。

画像に HT を適用すると、ハフ空間に直線が残ります。HT のカスケード バージョンでは、無制限の値の問題が解決されるように、ハフ スペースを 3 つのサブスペースに分割する必要があります。

どうすればこれを行うことができますか?

ハフ空間がどのように分割されているかの写真は次のとおりです。代替テキスト

対称空間の双対性を維持しながらパラメーター空間の有界性を復元するために、下の図に示すように、(a, b)-空間を 3 つの有界部分空間に分割します。最初の部分空間にも座標 a と b がありますが、| のみです。| | <= 1 および | b | <= 1。| | > 1 および | b | <= | | | 、点 (a, b) は、座標 1/a および b/a を持つ 2 番目の部分空間に現れます。最終的に | b | > 1 および | | | < | b |、座標 1/b と a/b を持つ 3 番目の部分空間を使用します。

ここで私はひどく混乱します。ハフ空間に線があるとします。違反したらどうやって分割するの?| | <= 1 および | b | <= 1?

ライン内のすべてのピクセルを単純に調べて、問題のピクセルの座標が | より大きいかどうかを確認します。| | <= 1 および | b | <= 1、2 番目の部分空間にプロットしますか?

この種の質問が Stack Overlow で歓迎されない場合は申し訳ありません。アルゴリズムについて質問できるサイトは他にありますか?

画像と上記の引用のソース

0 投票する
3 に答える
2231 参照

c++ - ハフ変換のアキュムレータ充填

最適化が必要なコードを書きました。コミュニティに確認して、そのコードが本当に最適かどうかを確認したいだけです。ハフ変換のアキュムレータがいっぱいになります。実際には、OpenCV ライブラリからほとんどのコードをコピーして貼り付けただけです。ありがとう!


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

computer-vision - 人工環境での車線検出

ドライビングシミュレーターで車線を検出できるアプリを書いています。環境は比較的単純で、ほとんどがまっすぐな複数車線の道路であり、曲がりはほとんどありません。現時点では、(従来の)ハフ変換を使用してラインを正常に検出できますが、問題は、HTがレーンではないラインも自然に検出することです。

どうすればより選択的になることができますか?まだ水平線を引いていませんが、まだいくつかの線が入り込んでいます。理想的には、車両が走行している車線の境界を検出したいと思います。以下は、環境の典型的な画像です。

環境

これが私がこれまでに行っていることです:

    1.どこを運転しても環境はほぼ同じなので、関心領域(RoI)を設定して、地平線とその上のすべてのものを除外します。
    2.画像​​のしきい値を設定します(しきい値の理由を少し説明します)
    3.キャニーエッジ検出
    4.ハフ変換を適用します
    5.勾配が0.0またはほぼ0.0の線を除いて、検出された線を描画します。

イメージングのしきい値の理由は次のとおりです。上にリンクされている環境写真を見ると、道路と平行に走っている灰色がかった線が見えます。レーンマーカーとは異なり、その連続線がHTによって検出されるためです。レーンマーカーと同じグラデーションなので、グラデーションで除外することはできません。しきい値を使用すると、それを削除できるため、実際のレーンマーカーであるラインのみを検出できます。

上記の操作の結果は次のとおりです

ハフ変換

この問題には多くの解決策があることを理解しており、これに関する無数の論文を読んだことがありますが、それらはすべて、これよりもはるかに複雑な環境を処理しているようです。その価値については、1か月ほど前、私はComputerVisionのバックグラウンドを持っていなかったので、これらすべては私にとって非常に新しいものです。

更新1:

これをより適切に表現すると、モデルに適合しない線が含まれないように車線をモデル化する方法を探しています。残念ながら、モデルをどこから始めればよいかわかりません。助言がありますか?

その価値のために、私は車両が走行している車線を特定することができ、いわば「アクティブな」車線の一部ではない余分な線を除外することができます。この写真がお役に立てば幸いです

スクリーンショット

完璧ではありませんが、私が推測するものです。モデリング後の私の最終的な目標は、車両の進行方向/位置を生成することです。しかし、私は最初は比較的堅牢な車線検出を取得したいと思っています。これを実現するのに役立つ比較的単純な手法(視野の焦点距離などのシステムのパラメーターに依存しない手法)があることを期待しています。

0 投票する
5 に答える
6146 参照

opencv - OpenCV での確率的ハフ変換の特定の実装は何ですか?

OpenCVの実装における確率的ハフ変換の特定のアルゴリズムを知っている人はいますか? つまり、アルゴリズムに関する参考文献やドキュメントはありますか?

アイデアを得るために、確かにソースコードを調べることができますが、それに関するドキュメントがあるかどうか疑問に思います. -- ソース コードのコメントにはありません (OpenCV 1.0)。

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

-ジン

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

matlab - matlabとopenCVで変換エラーが発生しましたか?

私はアプリケーションで Matlab と OpenCV/labview の両方を使用してハフ変換を使用してきましたが、一部の画像では、ハフ変換が明らかに間違ったライン フィットを (一貫して) 与えていることがわかりました。

これがテスト画像とオーバーレイ画像です。角度は正しいように見えますが、ローがずれています。 代替テキスト

下の画像では、上の画像は元の画像の左側に線を合わせようとし、下の画像は画像の右側に線を合わせようとしていることがわかります。

代替テキスト

Matlab では、Hough 関数を次のように呼び出します。

C++ では、OpenCV の HoughLines 関数を削除したので、アキュムレータを埋めている部分だけになります。シータの解像度が 0.2 であるため、分析する角度が 900 あることに注意してください。tabSin と tabCos は関数の前に定義されているため、角度の正弦と余弦になります。

これらのルーチンは通常はうまく機能しますが、特定のケースでは、私が示した方法で実行されることに注意してください。

TabCos と tabSin は、Labview でこのコード int32 i で定義されます。float64 theta_prec; float64 tabSin[180]; float64 tabCos[180];

theta_prec = 1/180*3.14159; for (i = 0;i<180;i++) { tabSin[i] = sin(i theta_prec); tabCos[i] = cos(i theta_prec); }

どんな提案でも大歓迎です

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

image-processing - ハフ変換の説明

私はただ冒険的であり、コンピューター ビジョンへの最初の赤ちゃんの一歩を踏み出しています。ハフ変換を自分で実装しようとしましたが、全体像がわかりません。ウィキペディアのエントリと、リチャード・デュダとピーター・ハートによる元の「写真の線と曲線を検出するためのハフ変換の使用」を読みましたが、役に立ちませんでした。

もっと親しみやすい言葉で説明してくれる人はいますか?

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

opencv - ハフ変換(rho、theta)から座標を画像(x、y)に戻す方法は?

Opencvでハフ変換関数を呼び出して生成された線のベクトルがあり、それらを画像座標に変換し直す必要があります。Opencvの公式ドキュメントからこのサンプルコードを見つけましたが、理解できません。誰か説明してもらえますか?

このラインをやっている1000は何ですか?

さらに、なぜpt2に負のyコードがあるのですか?たとえば、最初の行が(rho、theta)形式の(0,0)の場合、pt2は(0、-1000)になります。

ありがとう、

0 投票する
3 に答える
5537 参照

math - 曲線セグメントを見つけるためのハフ変換

ハフ変換を使用して、画像から線を抽出できます。曲線の抽出にも使用できますが、高次元のハフ変換はリソースを消費するため、これは少し難しくなります。次数 3 の曲線、つまり x^{3}+ax^{2}+bx+c のハフ変換を 2D 投票空間にどのように制限するのか疑問に思っていました。

誰もがこれを説明する良いサイトを知っています (何も見つからないようです)。または、説明がない場合はここに説明があります:)。