Aforgeブロブ抽出方法を使用して赤いマークグラフを抽出する必要がありますが、それを読み取るためにその特定のグリッドを抽出できません。
2 に答える
このタスクは、AForgeをさらに使用しなくても非常に簡単に解決できます。
サンプル内のすべてのグリッドが同様の構造を持っている場合、つまり、関数の垂直-水平グラフィックを備えた同種のグリッドの場合、次のアルゴリズムを使用できます。
下の画像でわかるように、垂直方向の白いピクセル密度を計算しています。これは、各水平線のすべてのRGBコンポーネントの合計の正規化された値です(名前はわかりません。誰かが知っている場合は、報告してください)。
白いピクセル密度が最も低いy軸値を抽出し、緑色の楕円のy軸値を無視する必要があります。この最小値が設定されていない場合は、緑色の省略記号の値も考慮する必要があります。考慮されるy軸の値で、画像の右側に白いピクセルが多すぎる場合は、無視してください。それ以外の場合は、おめでとうございます!直角になるまで黒い線の部分が見つかりました。
その後、画像の終わりまで次の水平線検出のためにこのプロセスを繰り返す必要があります。
設立された水平線からの最終機能の構築。
グラフをグリッドに保持し、他のすべての線または線分を削除したい場合、および画像が処理を計画しているすべての画像のサンプルである場合は、次の2つのオプションを試してみてください。
1)グラフ線がない領域のグレースケールしきい値とグラフ線のグレースケールしきい値に違いがある場合は、それを使用して、IterativeThresholdなどのAforge.Netのしきい値APIの1つを適用します。
2)AForge.Netの侵食APIを試して、グラフの線を除く他のすべての線が侵食されるまで、それをN回繰り返すことができます。侵食によりグラフの線が薄くなった場合は、その上にディレーションを適用してください。