膨張縮小を行う関数dilate,erodeに関して。
結論から先に言うと、膨張縮小の窓サイズは自由に変更できるが、標準では8近傍になっている。
void dilate(const Mat& src, Mat& dst, const Mat& element, Point anchor=Point(-1, -1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue())
- src 入力画像
- dst src と同じサイズ,同じ型の出力画像
- element 膨張用構造要素.element=Mat()の場合, 3×3の矩形構造要素
- anchor 構造要素内のアンカー位置,デフォルト値 (-1,-1) は,アンカーが構造要素の中心
- iterations 膨張が行われる回数
- borderType ピクセル外挿手法.
- borderValue 定数境界モードで利用されるピクセル値
このelementが膨張縮小時の窓サイズで、3×3サイズで、標準で8近傍になっています。
cv::Mat element4 = (cv::Mat_<uchar>(3,3)<< 0,1,0,1,1,1,0,1,0); cv::dilate(src_img, dst_img, element4, cv::Point(-1,-1), 1);
のようにしてあげれば4近傍になる。
0 件のコメント:
コメントを投稿