答えて
(これは、下図の黄色でマークされているだけでなく、周辺白画素の領域ではありません)亀裂の影響を受けて全領域を見つけたいです最終的なバイナリイメージは、面積の近似計算のためのいくつかのトリックを試すことができます、それは非常に簡単なテクニックですが、あなたの問題のために動作する可能性があります。
1)すべての白いピクセルのxとyのインデックスを見つけて(MATLAB find()コマンドでそれを行います)、画像のすべての白いピクセルの重心であるxとy座標の平均を求めます。重心 などから全白画素の距離を見つける:
d = sqrt((x-xc).^2+(y-yc).^2)
上、あなたの白人の質量の中心に対応する全ての白人の距離のアレイを与える最大距離を見つけるととしてその距離を選択します仮想円の半径。今度はこのサークルの領域を見つけてください。
2)構造を異なるブロブとして取得する場合は、各ブロブのバウンディングボックスを抽出し、各バウンディングボックスの面積を計算し、すべての領域を追加します。
3)もう1つの方法は、ブロブの楕円領域を計算することです。あなたは長軸と短軸から得ることができ、すべての楕円の領域を追加します。
4)また、この問題に対処するための複雑な手法がいくつかあります(Convex Hullなど)。あなたはregionprops
から凸包を見つけることができます、これはあなたに各ブロブの凸包領域を与えるでしょう。
「クラックの影響を受けた領域」をどのように定義するかは100%わかりませんが、スケッチに基づいて、クラックイメージの凸包になる可能性があります。だから、エッジのバイナリイメージから始まる:あなたの画像の上部付近のそれらの直線が同様に亀裂としてカウントされるようにしている場合を除き
もちろん[X,Y] = find(edges);
[~,area] = convhull(X,Y)
、彼らが最初に何とかedges
から削除する必要があります。
- 1. 接続された領域の領域
- 2. 私は閉じて、MATLABで画像内の領域を指す見つけようとしているMatlabの
- 3. 反応したネイティブ領域の画像の処理
- 4. 画像のマッピング領域
- 5. 画像の領域認識
- 6. 角度領域を使用して画像領域を選択
- 7. MATLABシェーディング領域は
- 8. 三角の領域を見つける
- 9. イメージの領域を見つける
- 10. フラット領域のmatlabのピークを見つける
- 11. Matlab:バイナリ領域の長軸を見つける
- 12. カーネル密度領域を見つける
- 13. 私はMathWorks社のMATLABを使用して2枚の画像の重複領域を見つけたいMATLAB
- 14. 描画領域に画像を描画
- 15. MATLAB GUIの画像領域をマウスでクリックする
- 16. opencvで画像間の重複領域を見つける方法は?
- 17. カーネル領域のエラー処理/チェック
- 18. ネストされた領域Magnolia
- 19. Matlab - 画像上の興味のある領域をプロットする
- 20. C#画像からの領域をカット
- 21. MATLABで2つの図形の間の領域を見つける方法は?
- 22. AWSラムダクロス領域出力処理
- 23. ラベル付き画像領域の重心を効率的に見つける
- 24. テキスト領域の背景画像
- 25. 画像内のクリック可能な領域
- 26. 画像のクリック可能な領域
- 27. 画像のクリック可能な領域
- 28. アップロードされた画像を確認する白黒領域%
- 29. 画像を大きな画像の小さな領域にスワップ
- 30. カメラ2スカラートリミング領域とセンサ画像サイズ
私は自分でそれを自分で行うことができると思います。エリアを選ぶための基準は何ですか? –
@David - Anderのコメントに基づいて拡張するために、以下を含む簡単なテストケースを提供することができますか?1) "画像"用の行列(例えば、白黒領域を表す10x10ピクセルの '論理配列')。 2)黄色の線を表す同じサイズのマトリックス。 3)1)&2)を使用して希望の出力? –
亀裂だけでなく、亀裂を囲む領域、つまり全ての亀裂からなる長方形の領域 –