【OpenCV】OpenCV3的第五天——imgproc组件之图像处理
来源:互联网 发布:那年呐服饰淘宝代理可信吗 编辑:程序博客网 时间:2024/04/30 16:02
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()函数:利用基本的膨胀和腐蚀,来执行更高级的形态学变换;
漫水填充——floodFill
图像金字塔与图像尺寸的缩放
1、resize();
2、pyUp()、pyDown();图像金字塔相关函数;对图像进行向上采样,向下采样;
金字塔的底部是待处理图像的高分辨率的表示;
金字塔的顶部是低分辨率的近似;
高斯金字塔(Gaussianpyramid)——向下采样;
1、对图像的向下采样;
对第i层与高斯核进行卷积;去掉偶数行列,得到第i+1层;
2、对图像的向上采集;
每个方向扩大两倍,以0填充;内核与新图像卷积,获得新增像素的近似值;(丢失信息)
拉普拉斯金字塔(Laplacianpyramid)——向上采样,重建图像;(减少信息丢失)
拉普拉斯金字塔是通过源图像减去先缩小后放大的图像的一系列图像构成的;
尺寸调整: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()
2、自适应阈值——adeptiveThreshold()
函数总结
- 【OpenCV】OpenCV3的第五天——imgproc组件之图像处理
- 【OpenCV】OpenCV3的第六天——imgproc组件之图像变换
- 【OpenCV】OpenCV3的第七天——imgproc组件之直方图相关
- 【OpenCV】OpenCV3的第八天——imgproc组件之结构分析
- 【OpenCV】OpenCV3的第九天——imgproc组件之特征检测
- OpenCV imgproc组件之 图像处理
- 【OpenCV】OpenCV3的第十天——imgproc组件之目标检测
- OpenCV学习笔记——图像处理之滤波器ImgProc
- OpenCV学习笔记——图像处理之直方图ImgProc
- OpenCV imgproc组件之图像变换
- 【第二部分-图像处理】第3章 Opencv图像处理进阶-【1 图像处理A】(imgproc组件、feature2D组件)
- 第3章 Opencv图像处理进阶-【第一部分 图像处理B】(imgproc组件、feature2D组件)
- 第3章 Opencv图像处理进阶-【第一部分 图像处理C】(imgproc组件、feature2D组件)
- OpenCV学习笔记(七)——图像处理之滤波器ImgProc
- OpenCV学习笔记(八)——图像处理之直方图ImgProc
- OpenCV学习笔记(七)——图像处理之滤波器ImgProc
- OpenCV学习笔记(八)——图像处理之直方图ImgProc
- 图像识别(5)——《OpenCV3编程入门-毛星云》第三部分 掌握imgproc组件
- codeforces 660B. Seating On Bus
- 【NYOJ】[1092]数字分隔(二)
- Android开发学习总结(一)——搭建最新版本的Android开发环境
- 软件开发公司如何带新人?
- A + B Problem
- 【OpenCV】OpenCV3的第五天——imgproc组件之图像处理
- 4——Service Discovery in a Microservices Architecture
- Linux 内核延时函数
- 【学习笔记】3D图形核心基础精炼版-9:stage3D实战-图片纹理
- HDOJ 1195 Open the Lock
- iptables详解
- linux服务器自动切割并清理日志
- HTTP 常见状态码详解
- (转)Android之Notification的多种用法