OpenCV3的第五天——imgproc组件之图像处理

imgproc组件:Image Process,即图像处理模块;


图像滤波;

几何变换;

图像转换;

直方图相关;

结构分析和形状描述;

运动分析和对象跟踪;

特征检测;

目标检测;



一、图像滤波

 目的:抽出对象的特征;消除噪声;

 平滑滤波:模糊;消除噪声;

OpenCV中的滤波:

1、方框滤波(线性)——BoxBlur(函数:boxFilter())

2、均值滤波(线性)——Blur(函数:Blur())

3、高斯滤波(线性)——GaussianBlur(函数:GaussianBlur());图像的高斯模糊就是图像与正态分布做卷积;

4、中值滤波(非线性)——MediaBlur(函数:mediaBlur)

5、双边滤波(非线性)——bilateraFilter(函数:bilateraFilter);结合图像的空间邻近度和像素值相似度的一种折中处理;保边去噪;


常见线性滤波器:

低通(允许低频通过);

高通(允许高频通过);

带通(某范围通过);

带阻(阻止某范围频率);

全通(全部频率通过);

陷波(阻止一个狭窄频率范围通过);


滤波——滤波函数的滤波操作;

模糊——低通就是模糊;高通就是锐化;



形态学:腐蚀与膨胀

腐蚀与膨胀功能:

1、消除噪声;

2、分割(isolate)出独立的图像元素;

3、存在明显的极大或极小区域;

4、求图像梯度;


腐蚀——erode;核是任意形状和大小;

膨胀——dilate

一般使用getStructuringElement()函数配合使用;


开运算——先腐蚀后膨胀(先e后d)

闭运算——先膨胀后腐蚀(先d后e)


形态学梯度——膨胀图与腐蚀图之差;dilate-erode

顶帽——tophat()函数;原图与开运算图之差;src-open;(大背景小物体时,提取背景)

黑帽——blackhat()函数;闭运算图与原图之差;close-src;


morphologyEx()函数:利用基本的膨胀和腐蚀,来执行更高级的形态学变换;


OpenCV3的第五天——imgproc组件之图像处理_第1张图片



漫水填充——floodFill

OpenCV3的第五天——imgproc组件之图像处理_第2张图片



图像金字塔与图像尺寸的缩放

1、resize();

2、pyUp()、pyDown();图像金字塔相关函数;对图像进行向上采样,向下采样;

金字塔的底部是待处理图像的高分辨率的表示;

金字塔的顶部是低分辨率的近似;

OpenCV3的第五天——imgproc组件之图像处理_第3张图片


高斯金字塔(Gaussianpyramid)——向下采样;

1、对图像的向下采样;

         对第i层与高斯核进行卷积;去掉偶数行列,得到第i+1层;

2、对图像的向上采集;

          每个方向扩大两倍,以0填充;内核与新图像卷积,获得新增像素的近似值;(丢失信息)

拉普拉斯金字塔(Laplacianpyramid)——向上采样,重建图像;(减少信息丢失)

OpenCV3的第五天——imgproc组件之图像处理_第4张图片

拉普拉斯金字塔是通过源图像减去先缩小后放大的图像的一系列图像构成的;

OpenCV3的第五天——imgproc组件之图像处理_第5张图片


尺寸调整:resize()


interpolation插值方式:

1、INTER_NEAREST——最近邻插值

2、INTER_LINEAR——线性插值(默认)(用来放大图像,效率高)

3、INTER_AREA——区域插值(利用像素区域关系的重采样插值)(用来缩小图像)

4、INTER_CUBIC——三次样条插值(超过4*4像素领域内的双三次插值)(用来放大图像,效率低,不推荐)

5、INTER_LANCZOS4——Lanczos插值(超过8*8像素领域的Lanczos插值)



阈值化

基于图像与背景灰度的差异,属于像素级的分割;0——黑色;255——白色

1、固定阈值——Threshold()

OpenCV3的第五天——imgproc组件之图像处理_第6张图片  OpenCV3的第五天——imgproc组件之图像处理_第7张图片


2、自适应阈值——adeptiveThreshold()

OpenCV3的第五天——imgproc组件之图像处理_第8张图片


函数总结

OpenCV3的第五天——imgproc组件之图像处理_第9张图片


你可能感兴趣的:(opencv)