問題タブ [watershed]
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 - OpenCV での流域セグメンテーションの画像形式の不一致
OpenCV の Java ラッパーを使用して流域セグメンテーションを実装しようとしています。
これが私がやっていることです:
「watershed」を呼び出した時点で、次のようなエラーが表示されます。
わかりました。OpenCV は、出力として 32 ビットの 1 チャネル ファイルを探しています。
考えられるすべての組み合わせを試しました:
CvType.CV_32FC1、
CvType.CV_32F、
CvType.CV_32S、
CvType.CV_32SC1、
CvType.CV_8UC1、
CvType.CV_16UC1
...それらすべて。
エラーは回復力があります。それは去ることを拒否します。
助けてください。
前もって感謝します。
image-processing - 画像全体で最小エネルギー パスを見つける
次の図のように、グレースケール値を含む 2 次元配列を考えてみましょう。
赤い点の間の最適なパスを見つけたいです。高度の意味で、明るい領域を「高く」、暗い領域を「低い」と見なす場合、あるマーカーから別のマーカーまでの暗い「谷」に沿って線を引く必要があります。
私が知っているアルゴリズムの 2 つのカテゴリは次のとおりです。
- 画像処理ベースの「ボトムアップ」操作 (骨格化、流域、究極の浸食など)
- 反復最小化、「トップダウン」操作 (アクティブな輪郭)。
私の質問は:
この問題を解決するための典型的で明確に定義された操作またはアルゴリズムはありますか、または上記の一般的な手法のいくつかから自分で作成する必要がありますか?
最初にスケルトン化を試みますが、グレースケール イメージに対して実行する方法がわかりません。そして、アクティブな輪郭を試すとしたら、示されている画像に似た画像の内部エネルギー関数と外部エネルギー関数は何が良いのだろうかと思います (画像の勾配がベクトル場として機能する可能性があると思います)。
編集: これは、シーム カービング アルゴリズム (ウィキペディアで説明されている) を実装した後の私の作業コードであり、マーカーを通るパスを強制するためのショーハムの提案です。
python - 流域によって分割された地域の中心点を見つける方法は?
scikit (skimage) で流域アルゴリズムを使用して画像をセグメント化し、ndimage ライブラリの関数 find_objects を使用してセグメント化されたオブジェクトを検出します。返される型は、(slice(0L, 45L, None), slice(460L, 519L, None)) のようなスライスのタプルです。wathershed で区切られた領域の中心点に白色を作成する必要があるのですが、スライス オブジェクトからどのように見つけるのですか? この点を見つける簡単な方法はありますか?
python - 流域セグメンテーション用のポリゴンを作成する方法
画像があり、マーカー制御の流域を使用してこの画像のセグメントのポリゴンを作成したいと考えています。以下のコードを書いたのですが、くっついたオブジェクトを切り離して、オブジェクトのポリゴンを作成することができません。
それらの問題をどのように解決できますか?どうもありがとうございました。