問題タブ [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.
android - バイナリ イメージの FindContours と CountObject
誰かがそれを解決するのを手伝ってくれますか? 私はウォーターシェッド セグメンテーションで処理したバイナリ イメージを持っています。私の問題は、イメージで Contours と CountObject を見つける方法ですか?
matlab - セグメンテーション出力からトレーニング画像を構築する最も効率的な方法は何ですか?
各セルに単一の画像セグメントが存在するように、流域変換出力からトレーニング画像を作成したいと考えています。これを最も効率的な方法で行うにはどうすればよいですか?
詳細:L
流域セグメンテーションの出力であると仮定します:
- 0 は背景です
- 1 はセグメント番号 1、2 はセグメント番号 2 などです。
それぞれにセグメントが含まれる 2 つの画像でセルを作成したいと考えています。
いくつかの for ループと if 条件を使用して実行できることはわかっていますが、計算コストが最適なソリューションが必要です。たぶん、Matlab にはこのタスク用のビルトイン機能がありますか?
python - Python 経由で OpenCV の inpaint 関数を使用して、分水界の壊れた河川データを補間する
バックグラウンド
LIDAR によって収集されたラスター ファイルは、集水域の地形を記録します。集水域を適切にモデル化するには、川が切れ目や途切れのない連続しているように見える必要があります。下の図に示すように、ラスター ファイル内の道路は、川を遮るダムのように見えます。
目的
これらのリバーブレイクが主な問題であり、私はそれらを取り除こうとしていますが失敗しています.
アプローチ
Python 経由で、OpenCV ライブラリのさまざまなツールとビルド済み関数を使用しました。このアプローチで使用した主な関数は cv2.inpaint 関数です。この関数は、イメージ ファイルとマスク ファイルを取り込み、マスク ファイルのピクセルがゼロ以外の場合は元のイメージを補間します。
ここでの主なステップは、川のブレイクでコーナーを検出することによって行ったマスク ファイルを決定することです。マスク ファイルは、周囲のピクセルのパターンに従ってピクセルを塗りつぶすように修復機能をガイドします。
問題
私の問題は、これがすべての方向から発生することですが、川自体からのピクセルデータのみを推定する必要があります。下の画像は欠陥のある結果を示しています。修復は機能しますが、川の外からのデータも考慮しています。
あなたが親切に助けてくれるなら、これが私のコードです:
python - OpenCV Python の Distance Transform で CV_8UC3 が CV_32SC1 に自動的に変換され、アサーション エラーが発生する
チュートリアルに従って、画像に WaterShed アルゴリズムを適用しようとしています: OpenCv WaterShed Docs。コードに従って画質を向上させるために、グレースケール画像にガウスフィルタリングと形態変換の後に大津のしきい値処理を以前に適用しました。
コードに従って、流域アルゴリズムの最初の段階として距離変換を適用します。
エラーを作成します:
ここで、8 ビットの 3 チャネル イメージを 32 ビットのシングル チャネル イメージに変換しようとしています。これを防ぎながら距離変換を使用するにはどうすればよいですか?
c++ - 流域アルゴリズム後の輪郭の抽出
流域アルゴリズムを適用して満足のいく結果を得た特定の画像があります。OpenCV と C++ を使用して結果を取得しました。では、セグメント化されたセクションを抽出し、できれば輪郭として保存するにはどうすればよいでしょうか?
python - OpenCV と Python を使用して結合/重複文字 (OCR のセグメンテーション) を検出して修正する方法は?
OCR プログラムで、結合またはオーバーラップしたテキストのセグメント化に問題があります。Times New Roman フォントを扱っています。このフォントでは、fb、fh、fi、fj、fk、fl などの文字が上部で結合されています。(下の写真を参照)。これは主にセリフ フォントで見られます。
Times New Roman フォントで結合された文字と流域アルゴリズムの結果:
明らかに、輪郭検出により、これらの 2 つの文字が 1 つのセグメンテーションになります。そこで、流域アルゴリズムを試してみました。上の写真でわかるように、オーバーラップは検出されますが、それ自体に別の問題があることがわかりました。文字「f」の細い部分も別のセグメントに分割されていますが、「f」全体が必要です。これは、使用しているマーカーのせいだとわかっています。(下記参照)
流域に使用しているマーカー:
また、重複部分にのみ流域アルゴリズムを適用できるように、文字の重複があるかどうかを検出する方法を知っている人はいますか。
では、この問題を解決するにはどうすればよいでしょうか。これを解決するために正しい方法、つまり流域を使用していますか? これに対するより良い解決策を知っている人はいますか?