問題タブ [edge-detection]

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 投票する
4 に答える
3949 参照

image - エッジ検出と透明性

一定の背景で撮影した衣料品の画像を使用して、衣料品を除く画像のすべてのピクセルを透明にします。これを行うための最良の方法は何ですか?私はこれとオープンソースライブラリopencvに共通するアルゴリズムを研究しました。自分でローリングしたり、opencvを使用したりする以外に、これを行う簡単な方法はありますか?私はどんな言語やプラットフォームにもオープンです。

ありがとう

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

cocoa - なげなわツールを実装するためのアルゴリズム?

私はMacOSXアプリケーションを開発しています。このアプリケーションは、UIの一部として、選択可能なメインビューに多くの視覚要素を表示します。これらの要素は、ビュー内の実際にはどこにでも配置できます。UIは、要素を選択するさまざまな方法をサポートします。長方形のマーキー選択、楕円形のマーキー選択、および「自由な」なげなわ選択です。

私はすでに長方形と楕円形のマーキー選択を行っています。アルゴリズムは非常に単純です。要素の領域が長方形/楕円の領域と交差する場合、要素は「選択された」と見なされます。

なげなわツールの選択は、Photoshopなどの最新の画像操作アプリケーションと同じように機能します。ユーザーはパスをクリックしてドラッグすると閉じます。描画されたパスに含まれる要素が選択されます。

このアルゴリズムは、選択の形式に制限がないため、長方形/楕円形の選択よりもはるかに複雑になる可能性があります。誰かがこのようなものを書いた経験があるかどうか、またはどのようなプログラミング手法が必要か、そしてこのアルゴリズムが機能する最も効率的な方法について私を正しい方向に向けることができるかどうか疑問に思います。

前もって感謝します。

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

matlab - matlabで直線と図の交点を見つけるには

私たちは耳認識に関するプロジェクトを行っています。図の耳の端を取得し、それぞれの重心を見つけました。また、重心から 10 度間隔で線を引いています。次に、これらの線と耳のエッジとの交点を matlab で見つける方法を知る必要があります。

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

graphviz - Graphviz でノードの配置を制御する方法 (つまり、エッジの交差を回避する)

以下に示すグラフを生成するために、graphviz (ドット) を使用しています。左下隅のノード (赤い楕円) は、そのエッジが隣接するノードのいくつかのエッジと交差するため、不快感を引き起こします。ノードの配置を特定の領域に制限する方法はありますか?

エッジが他のいくつかのエッジと交差するグラフ

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

c# - マネージド コード (C#) と Matlabs および C++ の速度比較

私はエッジ検出システムの開発を開始しようとしています (2 冊の本を読んだ後、かなりの速度でそれを行っています) が、Matlabs のようなアプリの速度について疑問に思っています (これは可能です)。コードを C++ にコンパイルする) とエッジ検出用の AFORGE.NET を比較します。

アンマネージ コードは一般的に高速ですか?

ありがとう

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

map - いくつかの画像/動画フレームで部屋の 2D マップを作成するには?

すべての方向 (360° - ムービー フレームなど) の写真 (天井) を取得して部屋の単純な 2D マップを作成し、エッジ検出によって壁を認識し、他の不要なオブジェクトを削除し、画像を正しい位置に連結したいと考えています。 (cf. 壁、パノラマ) そして最後に (上から見た) おおよその 2D マップを作成します。スケールを取得することは、別のパラメーターであり、役立つ可能性があります。

現時点では、ソーベル アルゴリズムなどを使用していくつかの独自のアイデアを持っていますが、まだいくつかの例を探しているので、すでにこれを行っているプロジェクトまたはソフトウェア (GPL、フリーウェアが望ましい) を誰かが知っていると興味深いでしょう。それは私を助けるかもしれません。

ありがとう。

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

c++ - エッジ検出アルゴリズムでのノイズのクリーンアップ

私は最近、文字の配列で機能する非常に基本的なエッジ検出アルゴリズムを作成しました。このプログラムは、配列上の単一の特定の値のブロブのエッジを検出することを目的としており、配列要素を左、右、上、下に見て、それらの値の1つが元の値と同じでないかどうかを確認するだけで機能しました。現在見ています。目標は、数学的な線を生成することではなく、記述された閉ループエッジを表す一連の順序付けられた点を生成することでした。

アルゴリズムは完全に正常に機能しますが、データに少しのノイズが含まれているため、エッジがないはずの場所にランダムにエッジが生成されます。これにより、他のいくつかのプログラムに大混乱が生じました。

データに含まれるノイズには2つのタイプがあります。最初のタイプはかなりまばらで、ややランダムです。2番目のタイプは、x=y軸上の半連続直線です。私は最初のタイプのノイズの原因、それはデータの特徴を知っています、そしてそれについて私ができることは何もありません。2番目のタイプに関しては、それを引き起こしたのは私のプログラムのせいであると私は知っています...私はそれを引き起こしている正確な手がかりを持っていませんが。

私の質問は、ノイズを完全に取り除くにはどうすればよいですか?

正しいデータには、常に隣り合った点があり、非常にコンパクトで順序付けられており(ギャップがない)、閉ループまたは複数のループであることがわかっています。最初のタイプのノイズは通常、まばらでランダムです。これは、ノイズポイントもエッジとしてカウントされる次のエッジがあるかどうかを確認することで簡単に処理できます。そうでない場合、ポイントは最も反抗的なノイズであり、削除する必要があります。

ただし、x = yについて半連続線がある、2番目のタイプのノイズは、より多くの問題を引き起こします。線はランダムな長さで連続している場合があります(最も長いのは、配列全体の途中まで途切れることなく通過したことです)。実際のエッジと交差することも可能です。

これを行う方法についてのアイデアはありますか?

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

c++ - キャニーエッジ検出-グレースケール画像は常に3チャンネルとして表示され、使用できませんか?

O'Reillyシリーズの「LearningOpenCV」という本を読んでいて、キャニーエッジ検出サンプルを実行しようとしています。

私が選択したグレースケール画像は3チャンネルであるように見えますが、私の知る限り、cannyはシングルチャンネル画像でしか機能しないため、これは常に失敗します。OpenCVが提供する画像も使用しています。

これが私のコードです。

なぜこれで常に3チャンネルの画像が得られるのでしょうか。どうすればこれを解決できますか?

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

c# - 画像のエッジを最適に決定する方法は?

最近、画像のトリミングとサイズ変更の問題に直面しました。たとえば、次のような画像がある場合、画像の「メイン コンテンツ」をトリミングする必要がありました: (ソース: msn.com )代替テキスト

結果は、白い余白 (左右) のない msn コンテンツを含む画像になります。

X 軸で最初と最後の色の変化を検索し、Y 軸で同じものを検索します。問題は、画像を 1 行ずつ移動するのに時間がかかることです。2000x1600px の画像の場合、CropRect => x1,y1,x2,y2 データを返すのに最大 2 秒かかります。

座標ごとにトラバーサルを作成し、見つかった最初の値で停止しようとしましたが、すべてのテストケースで機能しませんでした..返されたデータが予期したものではなく、操作の期間が似ている場合がありました..

「メインコンテンツ」を囲む長方形のトラバーサル時間と発見を削減する方法はありますか?

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

android - Android でのソーベル エッジ検出

私が Android 用に開発しているアプリケーションの一部として、ユーザーが撮影した画像のエッジ検出バージョン (以下の例のようなもの) をユーザーに表示したいと思います。

代替テキスト

これを実現するために、私は Sobel 演算子とそれを Java で実装する方法を調べてきました。ただし、私が見つけた例の多くは、Android の一部ではないAWT (この例のように) にあるオブジェクトとメソッドを利用しています。

私の質問は、Android は上記の例で使用された AWT の機能に代わるものを提供していますか? Android に組み込まれているライブラリだけを使用してその例を書き直すとしたら、どうすればよいでしょうか。