卷积核函数:
Mat getStructuringElement(int shape, Size ksize, Point anchor = Point(-1, -1))
参数详解:
int shape:内核形状
MORPH_RECT : 矩形
MORPH_ELLIPSE : 椭圆
MORPH_CROSS : 十字形
Size ksize:内核尺寸
Point anchor:内核锚点,默认为( - 1, - 1), 表示锚点位于内核中心,一般情况下锚点只是影响了形态学运算结果的偏移
2.膨胀操作函数原型:
C++ : void dilate(
InputArray src,
OutputArray dst,
InputArray kernel,
Point anchor = Point(-1, -1),
int iterations = 1,
int borderType = BORDER_CONSTANT,
const Scalar& borderValue = morphologyDefaultBorderValue()
);
参数详解:
InputArray src:输入图像,即源图像,填Mat类的对象即可。图像通道的数量可以是任意的,但图像深度应为CV_8U,CV_16U,CV_16S,CV_32F或 CV_64F其中之一
OutputArray dst:即目标图像,需要和源图片有一样的尺寸和类型
InputArray kernel:膨胀操作的核。若为NULL时,表示的是使用参考点位于中心3x3的核。我们一般使用函数 getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)
Point anchor = Point(-1, -1):锚的位置,其有默认值( - 1, - 1),表示锚位于中心,一般使用默认值即可
int iterations = 1:迭代使用erode()函数的次数,默认值为1
int borderType = BORDER_CONSTANT:用于推断图像外部像素的某种边界模式。注意它有默认值BORDER_DEFAULT
const Scalar& borderValue = morphologyDefaultBorderValue():当边界为常数时的边界值,有默认值morphologyDefaultBorderValue()
3.腐蚀操作函数原型:
C++: void erode(
InputArray src,
OutputArray dst,
InputArray kernel,
Point anchor = Point(-1, -1),
int iterations = 1,
int borderType = BORDER_CONSTANT,
const Scalar& borderValue = morphologyDefaultBorderValue()
);
参数详解:
InputArray src:输入图像,即源图像,填Mat类的对象即可。图像通道的数量可以是任意的,但图像深度应为CV_8U,CV_16U,CV_16S,CV_32F或 CV_64F其中之一
OutputArray dst:即目标图像,需要和源图片有一样的尺寸和类型
InputArray kernel:膨胀操作的核。若为NULL时,表示的是使用参考点位于中心3x3的核。我们一般使用函数 getStructuringElement配合这个参数的使用。getStructuringElement函数会返回指定形状和尺寸的结构元素(内核矩阵)
Point anchor = Point(-1, -1):锚的位置,其有默认值( - 1, - 1),表示锚位于中心,一般使用默认值即可
int iterations = 1:迭代使用erode()函数的次数,默认值为1
int borderType = BORDER_CONSTANT:用于推断图像外部像素的某种边界模式。注意它有默认值BORDER_DEFAULT
const Scalar& borderValue = morphologyDefaultBorderValue():当边界为常数时的边界值,有默认值morphologyDefaultBorderValue()