OPENCV3编程入门------掌握improc组件--第六章 (2)

int floodFill( InputOutputArray image, InputOutputArray mask,
                            Point seedPoint, Scalar newVal, CV_OUT Rect* rect=0,
                            Scalar loDiff = Scalar(), Scalar upDiff = Scalar(),
                            int flags = 4 );

值得注意的是:floodFill 不会填充掩膜非0的区域,这一点与copyTO不同,floodFill的参数如函数显示的那样,分别是 输入图像 ,掩膜,种子点,填充的颜色值 ,重绘区域最小矩形,允许的像素差的最小值,允许的像素差的最大值,最后一个FLAG 标志位包含三个部分,在书上详细的表格介绍。

图像金字塔

我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低

高斯金字塔 用来向下采样

拉普拉斯金字塔 从金字塔向上采样,重建一个图像。

尺寸调整 resize() 函数

void resize( InputArray src, OutputArray dst,
                          Size dsize, double fx = 0, double fy = 0,
                          int interpolation = INTER_LINEAR );

函数原型:

void pyrDown(InputArray src, OutputArray dst, const Size& dstsize=Size());

函数作用:

先对图像进行高斯平滑,然后再进行降采样(将图像尺寸行和列方向缩减一半);

函数原型:

void pyrUp(InputArray src, OutputArray dst, const Size& dstsize=Size());

函数作用:

先对图像进行升采样(将图像尺寸行和列方向增大一倍),然后再进行高斯平滑;

阈值化:

double threshold( InputArray src, OutputArray dst,double thresh, double maxval, int type );

void adaptiveThreshold( InputArray src, OutputArray dst,double maxValue, int adaptiveMethod,int thresholdType, int blockSize, double C );

adaptiveThreshold就是为每一个像素点都计算了自己的阈值,计算的方法通过adaptiveMethod方法获得,然后每个像素根据threshold的类型进行判断,是正向判断还是反向判断

这里有一个讲解的比较详细的https://www.cnblogs.com/GaloisY/p/11037350.html

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgyxjx.html