問題タブ [sobel]

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

java - カラード キャニー エッジ検出の計算の問題

グラフィッククラスの学校プロジェクトに取り組んでいます。私の仕事は、色付きの画像のエッジを検出することです。Canny エッジ検出アルゴリズムを使用するよう提案を受けました。

プログラム全体を Java で自分で書くことにしました。Java Swing でウィンドウを作成しました。入力画像を sRGB 画像として読み込み、CIEL a b* に変換しています (これはタスクの一部であるため)。偏導関数を決定するソーベル カーネル (Cx,Cy) を適用することができました。しかし、私は方向式にこだわっていて、それをコーディングしています。

私の最初の問題は、すべての個別のカラー チャネルで方向を計算する必要があるのか​​、それともまとめて計算する必要があるのか​​ わからないことです。

ここに計算式があります(最初は方向です、私は立ち往生しています、そして正しいサイズには方向-シータを必要とする大きさがあります)

写真

方向を計算するためのソース コードは次のとおりです。

LabImgイメージのサイズ、ピクセル値の 2D 配列、およびバッファリングされたイメージを含むデータ型です。

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

matlab - 画像を正規化するときの寸法の誤り

このコードセクションでエラーが発生しています

私が得るエラー:


また、./提案どおりに使用すると、新しいエラーが発生します。

正規化のステップで何か間違ったことをしています。

この問題を解決するにはどうすればよいですか?

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

c++ - SFML C++ キャニー エッジ検出ダブル エッジ

そこで、画像処理で難しいトピックに取り組む前に、演習として単純な Canny エッジ検出器を作成することにしました。

私はキャニーの典型的な道をたどろうとしました: 1. 画像をグレースケール化する 2. ノイズをぼかすためのガウス フィルター 3. エッジ検出 - 私は Sobel と Scharr の両方を使用します 4. エッジ細線化 - 勾配に応じて方向に非最大抑制を使用しました方向 - 垂直、水平、45 対角または 135 対角 5. ヒステリシス

私はどういうわけかScharrの検出でそれを機能させることができましたが、特にSobelでは、二重または複数のエッジで問題が繰り返し発生しています。それを機能させる一連のパラメーターを実際に見つけることができません。

ソーベルの私のアルゴリズム:

Scharr のコードが異なるのは、ピクセル値の乗算だけです。

間引きコード:

ヒステリシス コード:

結果は Sobel にとって非常に満足のいくものではありません。

ソーベルの間引き

ヒステリシス後のソーベル

Scharr を使用すると、結果が大幅に向上します。

薄くなったシャー

ヒステリシス後のシャー

パラメータのセット:

ご覧のとおり、ダブル エッジを生成する Sobel に問題があります。Scharr も多少のノイズを発生しますが、許容できると思います。もちろん、誰かがアドバイスをくれれば、いつでも良くなる可能性があります:)

この動作の原因は何ですか? それは私の間違いやアルゴリズムの貧弱さによるものですか、それとも単にパラメータの問題でしょうか?

編集: main() の投稿

2 番目の編集 - 抑制の修復:

Lena の Scharr を修復しました 奇妙に思え ます 別のテスト画像 - 奇妙な結果

二値化前

レディギア

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

python - ソーベル演算子を使用して画像内の基本的な形状 (レンガ、円柱、球) を見つける方法は?

サンプル 1 - レンガ サンプル 2 - 球体

ソーベル勾配の大きさと方向を計算しました。しかし、これをさらに形状検出に使用する方法にこだわっています。

画像>グレースケール>ソーベルフィルタリング>ソーベル勾配と方向の計算>次?

使用されるソーベル カーネルは次のとおりです。

(Numpy のみを使用し、言語 Python で他のライブラリを使用しないという制限があります。)