2

前景が常に多くの黒い点である次の画像の背景を検出したい:

img.png

ここに画像の説明を入力

誰かが円盤状の構造要素を使用して画像のモルフォロジー クロージングを実行し、良好な結果を得ています。

ここに画像の説明を入力

Matlab コード:

img = imread('c:\img.png');
bg = imclose(img, strel('disk', 15));
figure('name', 'bg'), imshow(bg);

では、opencv で imclose(IM, SE) を実装して MATLAB での作業を置き換える方法、または opencv メソッドを使用してそのような背景を検出する別のより良い方法がありますか?

4

1 に答える 1

5

を使用cv::getStructuringElement()して、楕円構造要素を作成しcv::morphologyEx()、閉じる操作を実行できます。

cv::morphologyEx(img, img, cv::MORPH_CLOSE, cv::getStructuringElement(cv::MORPH_ELLIPSE, cv::Size(21,21)));

MATLAB の例と同様の結果を得るには、構造化要素のサイズを少し変更する必要がありました。

閉じた画像

OpenCV を使用したモルフォロジー演算に興味があるようですので、ドキュメントを一読して、その機能のすべてを確認することをお勧めします。

于 2013-08-20T17:11:36.940 に答える