問題タブ [canny-operator]

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 に答える
1897 参照

java - Java および Android Studio で Canny Edge Detector を実装する方法

AndroidスタジオまたはJavaでキャニーエッジ検出のコードを探していました。メソッドがどのように機能するか、またキャニーエッジ検出器のサンプルコードを誰かに説明してもらえますか?

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

c++ - 上記ソース画像の処理から得られたキャニーエッジアウトラインに基づくopencvでのソース画像のセグメンテーション

ソース画像があります。特定の部分をセグメント化し、別の画像として保存する必要があります。セグメント化する必要がある部分の気の利いたアウトラインがありますが、それを使用してソース画像からその部分を切り取るにはどうすればよいですか? ソース画像とキャニー エッジ アウトラインの両方を添付しました。私を助けて、解決策を提案してください。

ソース画像

キャニーエッジ

EDIT-1: アレクサンダー・コンドラツキー、これが境界を埋めるという意味ですか?ここに画像の説明を入力

EDIT-2 : Kannatによると、私はこれを行いました 輪郭のあるソース画像

輪郭の外側と内側の領域を 2 つの別々の画像に分割するにはどうすればよいでしょうか。

編集 3- マスクと輪郭線のソース イメージを「And-ing」することを考えました。C を使用しているので、少し苦労しています。これは私が使用するコードです:-

サイズまたはタイプの不一致のエラーが常に発生します。サイズを調整しましたが、1つ(hsv_mask)が1チャネルで他が3チャネルであるため、タイプを調整できないようです。

@kanat-私もあなたのboundingrectを試しましたが、C形式ではうまくいかなかったようです。

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

c++ - opencvでの輪郭比較

メソッドから輪郭の結果を取得した後、画像(葉)の輪郭を見つけることができるopencv/c ++魔女でいくつかのコードを作成しました

findContours( canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0) );

このメソッドの結果は「輪郭」タイプに保存されます ( OutputArrayofArrays)

問題は、それらの結果を他の結果と比較する方法ですか?

この方法は比較できることがわかりましたが、使用できません!

double compare = cvMatchShapes(R, T, CV_CONTOURS_MATCH_I1);

R,T: 比較する 2 つのオブジェクト。

ありがとうございました

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

image-processing - キャニーエッジ検出で「シンプル」および「ショート」ガウス関数を使用する

Canny Operator の一部の実装では

(指数部分のみ) は、単純なガウス 2 次元関数の代わりに使用されます。

それを「ショート」機能と呼びましょう。Canny のオリジナル作品 ([ 13ページを参照) では、彼もこの関数を使用していますが、インターネットや良書には、標準的な Gauss two-dim 関数を使用する多くの実装があります。

私のアプリケーションでは、標準関数を使用するグラデーションの大きさのかなり暗いイメージがあり、実際にはコーナーは割り当てられませんが、「短い」関数ではすべてが期待どおりに機能します。

質問: これらの機能の違いは何ですか? また、ある機能を使用する人もいれば、別の機能を使用する人がいるのはなぜですか?

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

python - OpenCV での方向検出に問題がある

オブジェクトの向きを検出するコンピューター ビジョン スクリプトを作成しようとしています。ほとんどの場合は機能しますが、特定の画像では同じように機能しないようです。

このスクリプトは、輪郭を見つけるためにぼかしとキャニー エッジ検出に依存しています。

作業例:

ここに画像の説明を入力

失敗する部分: ここに画像の説明を入力

ここに画像の説明を入力

失敗した部分については、同じ形状の 1 つに対して 2 行で、他の形状の 1 つを完全に無視します。

メインコード:

CVAlgo.py

誰が問題が何であるか知っていますか?このスクリプトを改善する方法を知っている人はいますか?

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

opencv - Canny Edge 検出を適用する前に画像を前処理する

下の部屋の画像があり、すべての壁の端を検出したいと考えています。私はフィルターのさまざまな組み合わせ(バイラテラル、ガウス、ラプラシアンなど)を試しましたが、最良の組み合わせは次のようです。

  • 画像をグレースケールに変換する
  • バイラテラル フィルターを適用する
  • Canny エッジ検出プロセスを実行する
  • さらに 2 つのバイラテラル フィルターを適用して、ノイズを除去します
  • 拡張フィルターを適用して、エッジの穴を「塞ぐ」

私が抱えている問題は、何を試しても、天井に隣接する壁を横切る明確な直線エッジを取得できないことです. エッジを暗くするためにいくつかのテクニックを試しましたが、役に立ちませんでした。このエッジを検出するアプリがアプリストアにあるので、それが可能であることはわかっていますが、適用する必要がある前処理フィルターがわかりません。誰かが私を正しい方向に向けてくれることを願っています.

ここに画像の説明を入力

ここに画像の説明を入力

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

c++ - キャニー画像で直線または非曲線を削除する方法

私はキャニーエッジのイメージを持っています ここに画像の説明を入力

半円/楕円または「C」のように見える線を除くすべての線を削除したい。Hough Circle 変換を試みたところ、すべての曲線が検出されました。それは必要ありません。

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

python - OpenCV (Python) を使用して最大の囲み領域を持つ輪郭を見つける

画像Original Imageがあり、画像内のボックスを囲む輪郭を見つけたいと思います。これを行う理由は、画像を境界ボックスにトリミングし、このトリミングされた画像に対してさらに画像処理を実行したいからです。

キャニー エッジを検出しようとしましたが、意図したとおりに接続されていないようです。キャニーエッジがどのように見えるかの画像が添付されています。キャニーエッジ

元の画像から境界ボックスを見つける最良の方法は何ですか?

どうもありがとう。

可能であれば、この質問をより明確にする方法も教えてください!

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

opencv - グローバル 'cv' (nil 値) のインデックスを作成しようとしています

OS:ウブンツ

cv パッケージの関数を使用して、特定の画像内のオブジェクトのエッジを検出しようとしています。

まず、ubuntu ターミナルで「qlua」を実行します。

ただし、次のエラーで失敗します。

[string "cv.rectangle{lena_p,{5,5},{10,10},color = {30..."]:1: グローバル 'cv' (nil 値) のインデックスを作成しようとしています スタック トレースバック: [string "cv.rectangle{lena_p,{5,5},{10,10},color = {30..."]:1: メイン チャンク内 [C]: 0x7f6be51eaba0

[string "ca_l = cv.Canny{image=limg,threshold=1,thresh..."]:1: グローバル 'cv' (nil 値) のインデックス作成を試みます スタック トレースバック: [string "ca_l = cv.Canny{ image=limg,threshold=1,thresh..."]:1: メイン チャンク内 [C]: at 0x7feb66429ba0

私の質問はこれです、「cv」パッケージの関数を使用してオブジェクトの輪郭を検出するにはどうすればよいですか?

参照: https://github.com/VisionLabs/torch-opencv/tree/master/cv