問題タブ [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.
graphics - ポリゴン メッシュからエッジを一意に見つけるためのアルゴリズム
一連のポリゴン データから一意のエッジを取得できる優れたアルゴリズムを探しています。この場合、ポリゴンは 2 つの配列によって定義されます。1 つの配列はポリゴンごとのポイント数で、もう 1 つの配列は頂点インデックスのリストです。
動作しているバージョンがありますが、500,000 ポリゴンを超えるとパフォーマンスが低下します。私のバージョンでは、各面を歩き回り、各エッジの並べ替えられた頂点を stl::set に追加します。私のデータ セットは主に三角形と四角形のポリゴンで、ほとんどのエッジは共有されます。
これのためのよりスマートなアルゴリズムはありますか?
r - Rデンドログラムでエッジに色を付けたり四角形を正しく描画したりするにはどうすればよいですか?
R のと関数を使用して、このデンドログラムを生成しました。hclust()
as.dendrogram()
plot.dendrogram()
dendrapply()
関数とローカル関数を使用して葉に色を付けましたが、正常に機能しています。
ノードのセット (たとえば、ツリーの右下隅にある" _+v\_stat5a\_01_
" と " "のクラスター) が有意または重要かどうかを示す統計テストの結果があります。_+v\_stat5b\_01_
dendrapply()
また、重要な葉を含むデンドログラム内の正確なノードを見つけるために使用できるローカル関数もあります。
私はどちらかをしたいです(例に従って):
_+v\_stat5a\_01_
" " と " "を結ぶエッジに色を付け_+v\_stat5b\_01_
ます。また、- " " と " "の
rect()
周りを描く_+v\_stat5a\_01_
_+v\_stat5b\_01_
次のローカル関数があります (「nodes-in-leafList-match-nodes-in-clusterList」条件の詳細は重要ではありませんが、重要なノードが強調表示されます)。
このif
ブロック内から を呼び出してみdendrapply(n, markEdges)
ましたが、うまくいきませんでした:
_+v\_stat5a\_01_
私の理想的な例では、「 」と「 」をつなぐエッジ_+v\_stat5b\_01_
は破線で赤色になります。
私はまたrect.hclust()
、このif
ブロック内で使用しようとしました:
しかし、結果は水平樹形図 (つまり、水平ラベルを持つ樹形図) では機能しません。以下に例を示します(右下隅の赤いストライプに注意してください)。生成されるものの次元について何かが正しくなくrect.hclust()
、それがどのように機能するのかわかりません。自分のバージョンを書くことができます。
edgePar
取得または適切に動作するためのアドバイス、または独自の同等のものrect.hclust()
を作成できるようにするためのアドバイスに感謝します。rect.hclust()
アップデート
この質問をして以来、パラメーターを計算してオブジェクトgetAnywhere(rect.hclust())
を描画する関数コードを取得していました。rect
この関数のカスタム バージョンを作成して、水平および垂直の葉を処理し、 で呼び出しますdendrapply()
。
ただし、 の一部を削除するある種のクリッピング効果がありrect
ます。水平の葉 (木の右側に描かれる葉) の場合、rect
いずれかの右端が消えるか、または の他の 3 つの辺の境界幅よりも細くなりrect
ます。垂直の葉 (ツリーの下部に描かれる葉) の場合、 の一番下の端でrect
同じ表示上の問題が発生します。
rect
重要なクラスターをマークする手段として行ったのは、クラスターのエッジの先端と (水平) リーフ ラベルの間に垂直の赤いストライプをレンダリングするように幅を狭めることです。
これにより、クリッピングの問題は解消されますが、別の問題が発生します。つまり、クラスター エッジの先端と葉のラベルの間のスペースが 6 ピクセル程度しかなく、あまり制御できません。これにより、縦縞の幅が制限されます。
より悪い問題は、x
縦縞が 2 つの要素の間に収まる場所を示す座標が、より大きなツリー ( par["usr"]
) の幅に基づいて変化することです。これは、ツリー階層が最終的にどのように構造化されるかによって異なります。
x
私は「修正」、またはより適切に言えば、この値とrect
水平方向の木の幅を調整するためのハックを書きました。常に一貫して機能するとは限りませんが、私が作成しているツリーでは、エッジやラベルに近づきすぎないように (またはオーバーラップさせないように) しているようです。
rect
最終的には、クリッピングがないように を描画する方法を見つけた方がよいでしょう。x
または、特定のツリーのエッジとラベルの間の特定の位置を計算する一貫した方法で、ストライプを適切に中央に配置してサイズを調整します。
色や線のスタイルでエッジに注釈を付ける方法にも非常に興味があります。
image - Opencvエッジ抽出
画像があり、エッジヒストグラムを作成したいと思います。画像を1100個の画像ブロックに分割し、各ブロックのエッジとその方向(水平、垂直、45°対角線、135°対角線、または無方向)を見つけようとします。
エッジに関する情報を抽出するにはどうすればよいですか?あなたはなにか考えはありますか?
よろしく!
c# - C#のカメラ画像でオブジェクトを検出する
ライブWebカメラから取得した画像があります。画像内の特定のオブジェクトを検出し、その部分を抽出してさらに処理できるようにしたいと考えています。
具体的には、画像はゲームボードの画像になります。この質問の目的のために、それが数独ゲームボードであるとしましょう。
私の最初のアプローチは、対照的な領域を探してそこから解決することでしたが、多くの潜在的なエッジ(多くの誤り)が発生し、実際に必要な領域を特定する方法についての本当の手がかりがないようです。 !!
画像の関連部分を見つけて抽出する方法について、アルゴリズム、ライブラリ、コードサンプル、または単に優れたアイデアがありますか?
algorithm - エッジ検出/画像認識について学び始めるのに最適な記事
私は、エッジ検出と画像セグメンテーション/オブジェクト認識に関するかなり広範な知識を必要とする個人的なプロジェクトに携わっています。
コードを書く前に計画/理解することの重要性を知っています。これを念頭に置いて、コンピューティングのこれらの領域について学ぶために、どこから始めるのが最適ですか? 理想的には、オンラインの記事/論文を探しています。
ありがとう
c++ - Cのキャニーエッジ検出器
ウィキペディアのエントリ-キャニー エッジ検出に実装されているアルゴリズムがどのように機能するかについて、少し説明を求めています。2D ガウス フィルターを使用してノイズ リダクションを実行するのは非常に簡単に思えますが、2 つの 1D フィルターを使用すると聞いたことがあります。これはどのように行われますか? 勾配とエッジ方向の計算も簡単です。ただし、非最大抑制を実行するときに、丸みを帯びた角度を取得するための巧妙なトリックはありますか? 私が現在行っているのは、エッジ方向 (シータ) の値を pi/4 で割って整数にキャストし、switch ステートメントを使用することです。しかし、負のシータ値をどのように処理すればよいのでしょうか?つまり、-pi/4 を 3*pi/4 と同じ方法で処理するか、pi/4 と同じ方法で処理する必要がありますか?
アドバイス/リンクは大歓迎です!
ありがとう、ベン
directx - ワールドスペースの法線マップを考えると、エッジを見つけるための適切なアルゴリズムは何ですか?
通常のシーンの頂点法線がワールド空間のテクスチャに色として表示されている場合、エッジを効率的に計算する方法はありますか、それとも数学的に不可能ですか?ビュー空間に法線があればエッジを計算できることは知っていますが、ワールド空間に法線があれば計算できるかどうかはわかりません(過去の方法を模索してきました)時間..)
HLSLでDirectXを使用しています。
algorithm - ShenCastanアルゴリズムに関するリソース
画像内のテキスト検出に関する簡単なプロジェクトを開始しました。そして、この問題を解決するためのステップの1つは、エッジ検出器の実装です。ノイズの多い画像でより良い結果が得られるため、ShenCastanを実装したかったのです。問題は、このアルゴリズムに関する有用なリソースがどこにも見つからないことです。シャンカスタンがどのように機能するか知っている人はいますか?またはこれについての記事がありますか?
前もって感謝します
c++ - cvCannyおよびfloat32ビット(IPL_DEPTH_32F)の問題
OpenCVのcvCanny(...)とそれが処理できる画像データ型に問題があります。まあ、多分あなたたち/ギャルは解決策を知っています。
32ビットのfloatイメージがあり、その上でcvCannyを実行したいと思います。問題は、cvCannyが「IPL_DEPTH_8S」またはU(signed / unsigned short)しか処理できないこと、または少なくともそれが私が疑うことです。OpenCVのマニュアルには、それがどれだけ処理できるかが示されておらず、cv/cvcanny.cppのこの行は私の期待を高めませんでした。
私が持っている画像はグレースケール/単精度float32ビットで、画像の値は0.0から16.0の間です。float32をunsignedshortにキャストしても、値の精度が低下し、OpenCVのキャニーでエッジが失われるため、あまり役に立ちません。
あなたたちは私の問題の解決策をたまたま知っていますか?(ITKを使用する以外に:))