問題タブ [morphological-analysis]

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

matlab - bwlabel を使用して最大接続オブジェクト/コンポーネントをカウントする

バイナリ イメージがBWあり、1 の連結領域を見つけるために使用bwlabelしているとします。この結果の最大のグループ (0 ではない) と、このグループが画像内にある場所を見つけたいとします。これを行う方法?

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

matlab - Matlab ordfilt2 または加重局所最大値の代替

Matlab でベクトルの重み付き最大値を計算したいと思います。加重最大値については、次のことを意図しています。

2*N+1重みのベクトルとW={w[-N], w[-N+1] .. w[0] .. w[N]}入力シーケンス を指定するとA、重み付き最大値は次のベクトル Mになり ます。m[i]=max(w[-N]*a[i-N], w[-N+1]*a[i-N+1], ... w[N]*a[i+N])

たとえば、ベクトルA= [1, 4, 12, 2, 4]と重みが与えられたW=[0.5, 1, 0.5]場合、重み付けされた最大値は になりますM=[2, 6, 12, 6, 4]

これは を使用して実行できますordfilt2が、ordfilt2重みは乗算ではなく加算として使用されます。

私は実際に4Dマトリックスに取り組んでいますが、4Dウェイトマトリックスは分離可能であるため、どの1Dソリューションも機能します。

私の現在の解決策は、入力配列のシフトされたコピーを生成Aし、シフトに従ってそれらに重みを付け、すべての配列を最大化することです。シフトは使用して実行circshiftされ、プロセスのボトルネックです。シフトされた行列を「手動で」インデックス付けして生成すると、さらに遅くなることが判明しました。

より効率的なソリューションを提案できますか?

編集: 正の A の場合M=exp(ordfilt2(log(A), length(W), ones(size(W)), log(W))) 、仕事をしますが、上記の解決策よりも時間がかかりますcircshift。私はまだより効率的なソリューションを探しています。

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

matlab - Matlab でのマルチスケール形態学的画像の単純化

こんにちは、私は現在、Dorini で論文「Multiscale Morphological Image Simplification」の SMMT オペレーターを使用しようとしています。購読しないとページにアクセスできないため、関連する詳細をここに投稿します。

ここに画像の説明を入力 ここに画像の説明を入力 ここに画像の説明を入力

関連記事の一部を画像として掲載していますのでご了承ください。stackoverflow.com での方程式の書き方がわかりません。この SMMT 演算子を画像処理の前処理ステップとして使用したいと考えています。私が書き留めたコードを以下に示します。

コードの結果は次のようになります: (紙から): ここに画像の説明を入力

私の結果はこれです:- ここに画像の説明を入力.

私の実装は正しいですか?? さらに改善できますか?? どんな提案も役に立ちます。助けてくれてありがとう!! 詳細については、Dorini Free Accessを参照してください。

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

c++ - OpenCV Watershed : 4 ポイント接続

OpenCVで流域のコードを書いています。

しかし、分水界の境界を 8 点ではなく 4 点で接続したいと考えています。

現在、これはインターフェースです:

誰にもこれに対する解決策はありますか?

また、自動オーバーセグメンテーションのためにopencvで形態学的流域を実行する簡単な方法はありますか?現在のものはユーザー入力を受け取りますか?

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

matlab - きれいなモルフォロジー演算

MATLAB のドキュメンテーションでは、きれいなモルフォロジー演算をここで見ることができます。問題は、私がそれを使用できないことです。構造化要素の使い方はわかっているのですが、例えばimclean(img,SE)clean(img,SE)と入力すると、未定義関数としてエラーが発生します。関数はどのように使用する必要がありますか?

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

matlab - 画像のエッジを修正する方法

の画像に示すような結果が得られました。ご覧のとおり、すべてがまっすぐではないエッジがいくつかあります。この画像をこれと似たものにしたいです(灰色の陰影が表示される理由はわかりません。手動で抽出したためでしょうか?)。しかし、ここでの主なことは、白い縁に似ていることです. モルフォロジー演算を使用してみましたが、あまり改善されませんでした。

この問題を解決する方法はありますか?

ありがとう。

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

matlab - MATLAB でサイズ nxn の近傍を使用したグレースケール イメージの形態学的膨張

Dilation プロセスは、画像 A に構造要素 B を配置し、畳み込みと同様の方法で画像上をスライドさせることによって実行されます。

グレースケール画像の数学的形態膨張の背後にある主な概念を理解していますが、まだ1つの質問があります:

構造要素の値をユーザーが選択できないようにすることはできますか? つまり、構造要素の要素を指定せずに、サイズと形状を選択するだけで、画像の膨張処理を実行できますか?

より正確にするために、例を使って私の質問をよく説明します。サイズ 8 x 8 の近傍によって処理される (この場合は膨張する)Iサイズのグレースケール画像を想定160 x 160します。この近傍の要素を指定しなかったので、それらの要素は画像自体からのものです。たとえば、以下の matlab コードを書きました。

関数max_filterは次のとおりです。

それはまだ形態学的拡張操作と見なされますか? サイズ 8 x 8 の構造要素を使用したことを思い出してください。

0 投票する
2 に答える
138 参照

matlab - 時系列のギャップを埋める

右側のブロック (2 つの小さなブロックで構成される) をマージして、左側の 2 つのブロックとまったく同じように見せたいと考えています。形態学的操作について考えていましたが、これらは元の形状を変更する傾向があり、精度が失われます。他に役立つ信号処理ツールはありますか? データは時系列で表示されます。

セグメンテーションの問題