次のようなプログラムで単純なドットを描画し、クロージングをかけてみました
Mat mat = Mat::zeros(3, 9, CV_8U); mat.at<unsigned char>(1, 2) = 255; mat.at<unsigned char>(1, 6) = 255; imwrite("c:\temp\mat1.bmp", mat); morphologyEx(mat, mat, MORPH_CLOSE, getStructuringElement(MORPH_RECT, Size(5, 1))); imwrite("c:\temp\mat2.bmp", mat);
元画像 mat1.bmpはこんな感じ
■■■■■■■■■
■■ ■■■ ■■
■■■■■■■■■
結果画像 mat2.bmpはこんな感じ
■■■■■■■■■
■■■■■■■■■
期待している画像はこんな感じ
■■■■■■■■■
■■ ■■
■■■■■■■■■
morphologyExの最後の引数をいろいろ変えましたが、期待通りになりませんでした
画像の端までつながってしまいます
こういうものなのでしょうか?
どうぞよろしくお願いします
回答していただいた後に、次のプログラムを試したところ、期待通りの結果になりませんでした
Mat mat = Mat::zeros(3, 9, CV_8U); Mat mat2 = Mat::zeros(3, 9, CV_8U); mat.at<unsigned char>(1, 2) = 255; mat.at<unsigned char>(1, 6) = 255; imwrite("c:\temp\mat1.bmp", mat); morphologyEx(mat, mat2, MORPH_CLOSE, getStructuringElement(MORPH_RECT, Size(9, 1)), Point(-1, -1), 1, BORDER_CONSTANT, 0); imwrite("c:\temp\mat2.bmp", mat2);
画像を添付しようとしたのですが、うまくいきません
よろしくおねがいします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/22 02:35 編集