OpenCvでオブジェクトを分離したいのですが、次のような画像が表示されます: しかし、私がcvDilateやcvErodeを使っていると、オブジェクトは一緒に成長します。cvDilate/cvErode:分離されたオブジェクト間の接続を回避する方法は?
2
A
答えて
0
私が知る限り、OpenCVには「XORによる拡張」はありません(これは非常に良いことですが)。
同様の結果を得るには、( 'd'のように)侵食し、元の画像とANDすることができるVoronoiセグメンテーションの種として侵食されたセンターを使用することがあります。
0
弱い要素を排除するために画像を閾値処理してみてください。強い領域だけが残っていて、オブジェクト分離が改善されるはずです。ところで、cvDilateまたはcvErodeの問題についてもう少し明確になりますか?
1
あなた自身の拡張機能を書いてからxorの機能を追加する必要があるようです。
DST = DILATE(SRC、要素):DST(要素内(X 'Y'))(X、Y)=最大)OpenCVのマニュアルに従って
、ここcvdilateが使用するルールがありますSRC(X + X 'Y + Y')ここでは、出発点のための擬似コード(これはXORコードが含まれていません)です:
void my_dilate(img) {
for(i = 0; i < img.height; i++) {
for(j = 0; j < img.width; j++) {
max_pixel = get_max_pixel_in_window(img, i, j);
img.pixel(i,j) = max_pixel;
}
}
}
int get_max_pixel_in_window(img, center_row, center_col) {
int window_size = 3;
int cur_max = 0;
for(i = -window_size; i <= window_size; i++) {
for(j = -window_size; j <= window_size; j++) {
int cur_col = center_col + i;
int cur_row = center_row + j;
if(out_of_bounds(img, cur_col, cur_row)) {
continue;
}
int cur_pix = img.pixel(center_row + i, center_col + j);
if(cur_pix > cur_max) {
cur_max = cur_pix;
}
}
}
return cur_max;
}
// returns true if the x, y coordinate is outside of the image
int out_of_bounds(img, x, y) {
if(x >= img.width || x < 0 || y >= img.height || y <= 0) {
return 1;
}
return 0;
}
関連する問題
- 1. モデル宣言とデータベース接続を分離する方法は?
- 2. ブロックされた外部データベース接続の回避策
- 3. 2つの接続された境界の形態的分離
- 4. Django DB接続はプロセス間で分離されていますか?
- 5. 接続されたwlanデバイスの距離
- 6. ネストされたスイッチを回避する方法は?
- 7. 分離方法コンボボックスの時間部分
- 8. 接続コンポーネント分析で最大再帰深度を回避するには?
- 9. 分割されたノードを別のノードに接続する方法は?
- 10. Java/NettyとのSSL接続のためのDiffie-Hellmanの回避方法
- 11. 弾性検索でネストされた型を使ったオブジェクト間の相互作用の回避方法
- 12. Asp.netコアでNEO4Jdb接続を分離する方法は? Neo4jドライバで
- 13. 凝縮されたペアワイズ距離を直接得る方法は?
- 14. 分離されたオブジェクトをJPAに引き渡す方法はありますか? (分離されたエンティティが継承に渡されます)
- 15. - SQLコマンドのループで最大接続プールエラーを回避する方法
- 16. 複数のao.lockの回避方法を回避するには?
- 17. iphone接続の回復されたコールバック
- 18. 分離されたファイルからの機能を使用してデータベースに接続
- 19. JBossのWebアプリケーション間のクラスパスを回避する方法は?
- 20. oledb接続のトランザクション分離レベル
- 21. GrakoのModelBuilderSemanticsを使用したネストされたオブジェクトの回避
- 22. 同じPHPファイルが複数回実行される場合の接続タイムアウトを回避するには
- 23. セロリは、分離された
- 24. データベースが接続されていないときに例外を回避する
- 25. ファイル内の接続された文字を分割する方法
- 26. は分離オブジェクト
- 27. 接続ノードの距離の長さを動的に設定する方法は?
- 28. ネストされたクエリで「グループ化」を2回回避する方法
- 29. データベースへの接続のオーバーヘッドをPHPで回避する
- 30. ListAdaptersでリサイクルされたアイテムの問題を回避する方法は?
あなたは、「私にout_of_boundsを、この機能を使用することを教えてもらえます(img、cur_col、cur_row)」と表示されます。 擬似コードを書くといいでしょう。 – RidaSana