問題タブ [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.
java - Java および Android Studio で Canny Edge Detector を実装する方法
AndroidスタジオまたはJavaでキャニーエッジ検出のコードを探していました。メソッドがどのように機能するか、またキャニーエッジ検出器のサンプルコードを誰かに説明してもらえますか?
c++ - 上記ソース画像の処理から得られたキャニーエッジアウトラインに基づくopencvでのソース画像のセグメンテーション
ソース画像があります。特定の部分をセグメント化し、別の画像として保存する必要があります。セグメント化する必要がある部分の気の利いたアウトラインがありますが、それを使用してソース画像からその部分を切り取るにはどうすればよいですか? ソース画像とキャニー エッジ アウトラインの両方を添付しました。私を助けて、解決策を提案してください。
EDIT-1: アレクサンダー・コンドラツキー、これが境界を埋めるという意味ですか?
EDIT-2 : Kannatによると、私はこれを行いました
輪郭の外側と内側の領域を 2 つの別々の画像に分割するにはどうすればよいでしょうか。
編集 3- マスクと輪郭線のソース イメージを「And-ing」することを考えました。C を使用しているので、少し苦労しています。これは私が使用するコードです:-
サイズまたはタイプの不一致のエラーが常に発生します。サイズを調整しましたが、1つ(hsv_mask)が1チャネルで他が3チャネルであるため、タイプを調整できないようです。
@kanat-私もあなたのboundingrectを試しましたが、C形式ではうまくいかなかったようです。
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 つのオブジェクト。
ありがとうございました
image-processing - キャニーエッジ検出で「シンプル」および「ショート」ガウス関数を使用する
Canny Operator の一部の実装では
(指数部分のみ) は、単純なガウス 2 次元関数の代わりに使用されます。
それを「ショート」機能と呼びましょう。Canny のオリジナル作品 ([ 13ページを参照) では、彼もこの関数を使用していますが、インターネットや良書には、標準的な Gauss two-dim 関数を使用する多くの実装があります。
私のアプリケーションでは、標準関数を使用するグラデーションの大きさのかなり暗いイメージがあり、実際にはコーナーは割り当てられませんが、「短い」関数ではすべてが期待どおりに機能します。
質問: これらの機能の違いは何ですか? また、ある機能を使用する人もいれば、別の機能を使用する人がいるのはなぜですか?
opencv - Canny Edge 検出を適用する前に画像を前処理する
下の部屋の画像があり、すべての壁の端を検出したいと考えています。私はフィルターのさまざまな組み合わせ(バイラテラル、ガウス、ラプラシアンなど)を試しましたが、最良の組み合わせは次のようです。
- 画像をグレースケールに変換する
- バイラテラル フィルターを適用する
- Canny エッジ検出プロセスを実行する
- さらに 2 つのバイラテラル フィルターを適用して、ノイズを除去します
- 拡張フィルターを適用して、エッジの穴を「塞ぐ」
私が抱えている問題は、何を試しても、天井に隣接する壁を横切る明確な直線エッジを取得できないことです. エッジを暗くするためにいくつかのテクニックを試しましたが、役に立ちませんでした。このエッジを検出するアプリがアプリストアにあるので、それが可能であることはわかっていますが、適用する必要がある前処理フィルターがわかりません。誰かが私を正しい方向に向けてくれることを願っています.
python - OpenCV (Python) を使用して最大の囲み領域を持つ輪郭を見つける
画像Original Imageがあり、画像内のボックスを囲む輪郭を見つけたいと思います。これを行う理由は、画像を境界ボックスにトリミングし、このトリミングされた画像に対してさらに画像処理を実行したいからです。
キャニー エッジを検出しようとしましたが、意図したとおりに接続されていないようです。キャニーエッジがどのように見えるかの画像が添付されています。キャニーエッジ
元の画像から境界ボックスを見つける最良の方法は何ですか?
どうもありがとう。
可能であれば、この質問をより明確にする方法も教えてください!
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