总结学习下图像处理方面基础知识。
这是第一篇,简单的介绍下使用 OpenCV 的三个基本功能:
• 图像的读取• 图像的显示• 访问图像的像素值
然后概述下图像噪声的类型,并为图像添加两种常见的噪声:高斯噪声和椒盐噪声。最后,使用中值滤波和均值滤波来处理带有噪声的图像。
OpenCV 基础
在 OpenCV 中,完成图像的输入输出以及显示,只需要以下几个函数:
1. namedWindow
创建一个可以通过其名字引用的窗口。第一个参数,设置窗口的 name,可以通过name引用该窗口;第二个参数,设置窗口的大小。有以下几个选择:
• WINDOW_NORMAL or WINDOW_AUTOSIZE 调整窗口的大小以适应图像,不同的是,使用WINDOW_NORMAL可以手动调整窗口的大小;WINDOW_AUTOSIZE不能调整窗口的大小。• WINDOW_FREERATIO or WINDOW_KEEPRATIO 改变窗口时是否会保持图像的ratio不变,没发现这俩有什么区别。
2. imshow
显示图像
3. imread
读取图像数据到Mat中,第一个参数是图像的文件名;第二个参数是标志,标识怎么处理图像的色彩。常用的几个选项:
• IMREAD_UNCHANGED 和原图像保持一直不变• IMREAD_GRAYSCALE 将图像转换为单通道的灰度图• IMREAD_COLOR 将图像转换为3通道的BGR,默认选项• IMREAD_REDUCED_GRAYSCALE_2 IMREAD_REDUCED_GRAYSCALE_4 IMREAD_REDUCED_GRAYSCALE_8 单通道灰度图读入图像,并减小图像的大小。减小的值为1/2,1/4,1/8• IMREAD_REDUCED_COLOR_2 IMREAD_REDUCED_COLOR_4 IMREAD_REDUCED_COLOR_2 3通道BGR读入图像,并减小图像的大小。减小的值为1/2,1/4,1/8
4. Mat
Mat 是 OpenCV 中最重要的数据结构,在做图像处理时基本都是对该结构体的操作。
Mat 由两部分构成:矩阵头和矩阵数据,矩阵头较小,创建的每个 Mat 实例都拥有一个矩阵头,而矩阵数据通常占有较大的空间,OpenCV 中通过引用计数来管理这部分内存空间,当调用赋值运算符和拷贝构造函数时,并不会只复制矩阵头,并不会复制矩阵数据,只是将其的引用计数加1。例如:
![](http://file.elecfans.com/web1/M00/45/E5/pIYBAFp6uxaAS619AAAHZQOJRU4775.png)
上面代码中的 a,b 和 m 各自拥有自己的矩阵头,其引用的数据却指向同一份。也就是说,修改了其中任意一个,都会影响到其余的两个。
要想复制矩阵数据,可以调用 clone 和 copyTo 这两个函数
![](http://file.elecfans.com/web1/M00/45/E5/pIYBAFp6uxeAerjoAAAG9ff830g000.png)
将图像读入到 Mat 后,有三种方式访问 Mat 中的数据:
• 通过指针• 使用迭代器• 调用 at
图像噪声
图像噪声是图像在获取或传输的过程中受到随机信号的干扰,在图像上出现的一些随机的、离散的、孤立的像素点,这些点会干扰人眼对图像信息的分析。图像的噪声通常是比较复杂的,很多时候将其看成是多维随机过程,因而可以借助于随即过程描述噪声,即使用概率分布函数和概率密度函数。
图像的噪声很多,性质也千差万别, 可以通过不同的方法给噪声分类。
按照产生的原因:
• 外部噪声• 内部噪声
这种分类方法,有助于理解噪声产生的源头,但对于降噪算法只能起到原理上的帮组。
噪声和图像信号的关系,可以分为:
• 加性噪声,加性噪声和图像信号强度不相关,这类噪声可以看着理想无噪声图像f和噪声的和。• 乘性噪声,乘性噪声和图像信号是相关的,往往随图像信号的变化而变化
而为了分析处理的方便,常常将乘性噪声近似认为是加性噪声,而且总是假定信号和噪声是互相独立的。
最重要的来了,按照概率密度函数(PDF)分类:
• 高斯噪声,高斯噪声模型经常被用于实践中。• 脉冲噪声(椒盐噪声),图像上一个个点,也可称为散粒和尖峰噪声。• 伽马噪声• 瑞利噪声• 指数分布噪声• 均匀分布噪声
这种分类方法,引入了数学模型,对设计过滤算法比较有帮助。
给图像添加噪声
按照指定的噪声类型,生成一个随机数,然后将这个随机数加到源像素值上,并将得到的值所放到[0,255]区间即可。
C++++11 随机数发生器
新的随机数生成器被抽象成了两个部分:随机数生成引擎和要生成的随机数符合的分布。
随机数引擎有三种:
• linear_congruential_engine 线性同余算法• mersenne_twister_engine 梅森旋转算法• subtract_with_carry_engine 带进位的线性同余算法
第一种最常用,而且速度比较快;第二种号称最好的伪随机数生成器
![](http://file.elecfans.com/web1/M00/45/E5/pIYBAFp6uxeAf8LlAAAUjyd7-II010.png)
添加图像噪声
使用C++的随机数发生器为图像添加两种噪声:椒盐噪声和高斯噪声。椒盐噪声是图像中离散分布的白点或者黑点,其代码如下:
![](http://file.elecfans.com/web1/M00/45/E5/pIYBAFp6uxeAEGqlAAAeW2Rp1nA210.png)
上述代码中使用ptr()获取图像某一行的行首指针,得到行首指针后就可以任意的访问改行的像素值。
高斯噪声是一种加性噪声,为图像添加高斯噪声的代码如下:
![](http://file.elecfans.com/web1/M00/45/E5/pIYBAFp6uxeALGNOAAAi4VL-ims337.png)
随机产生符合高斯分布的随机数,然后将该值和图像原有的像素值相加,并将得到的和压缩到[0,255]区间内。
左边是原图,中间的是添加高斯噪声后的图像,最右边的是添加椒盐噪声后的图像。
使用滤波器去除噪声
根据噪声类型的不同,选择不同的滤波器过滤掉噪声。通常,对于椒盐噪声,选择中值滤波器(Median Filter),在去掉噪声的同时,不会模糊图像;对于高斯噪声,选择均值滤波器(Mean Filter),能够去掉噪声,但会对图像造成一定的模糊。
在 OpenCV 中,对应于均值滤波器的函数是 blur,该函数需要5个参数,通常只设置前3个后两个使用默认值即可。blur(m, m2, Size(5, 5));第一个参数是输入的图像,第二个参数是输出的图像,第三个参数是滤波器的大小,这里使用的是5×55×5的矩形。
对应于中值滤波器的函数是medianBlur(m1, m3, 5);前两个参数是输入输出的图像,第三个参数是滤波器的大小,由于是选取的是中值,滤波器的大小通常是一个奇数。
下图是对有噪声图像使用滤波器后的结果,中间的是原始图像,左边的是使用均值滤波器过滤高斯噪声后的结果;右边的是使用中值滤波器过滤椒盐噪声后的结果。可以明显的看出,这两种滤波器都能够很好的去掉图像的噪声,但会对图像造成一定的模糊,尤其是均值滤波器造成的模糊比较明显。
总结
本文算是第一篇文章,简单的介绍下 OpenCV 的基本使用;接着访问图像中的像素,并借助于C++11的随机数库,为图像添加高斯噪声和椒盐噪声;最后使用中值滤波器和均值滤波器除去图像,并对结果进行了对比。
原文标题:图像处理基础(1):噪声的添加和过滤
文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。
收藏
人收藏
扫一扫,分享给好友
复制链接分享
评论
发布评论请先 登录
相关推荐
RV1126和RV1109怎么样?具有哪些功能优势?
RV1126和RV1109怎么样?具有哪些功能优势?
发表于 03-10 06:12 •
92次
阅读
基于可见/近红外反射光谱的稻米品种与真伪鉴别
于超市购买了泰国香米、夜郎贡米、珍珠米、泰国糯米四种稻米样本;于湘西质量技术监督局获得劣质米(珍珠米....
发表于 03-04 15:31 •
10次
阅读
有什么方法可以将双目摄像头结合OpenCV一起使用吗
有什么方法可以将双目摄像头结合OpenCV一起使用吗?...
发表于 03-02 09:52 •
422次
阅读
怎样在PC机器上编译RK3566 ARMv8平台的代码呢
什么是交叉编译呢?
怎样在PC机器上编译RK3566 ARMv8平台的代码呢?
...
发表于 03-02 09:49 •
202次
阅读
OpenCV库编译相关资料下载
库编译./configure --host=arm-linux --without-gtk --without-carbon --without-qu...
发表于 03-02 06:22 •
70次
阅读
详解FET输入放大器中的电流噪声
IC设计工程师和电路设计人员都深知电流噪声会随频率增高而变大,但由于关于此领域的资料过少,或者制造商....
亚德诺半导体 发表于 03-01 15:01 •
342次
阅读
DS1819对应版本的FFMPEG_OpenCV开发笔记
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用...
发表于 03-01 07:17 •
36次
阅读
TDK公司开发适合汽车应用的KCZ1210DH系列共模滤波器
TDK公司(TSE:6762)开发了适合汽车应用的KCZ1210DH系列共模滤波器。该系列以1210....
TDK中国 发表于 02-28 11:24 •
1210次
阅读
FPGA图像处理应用详细介绍
FPGA图像处理应用详细介绍
发表于 02-28 10:29 •
44次
阅读
RF噪声系数计算方法合集
关于RF设计中噪声计算方法,以供设计人员参考
发表于 02-28 09:53 •
36次
阅读
大华线性单路基础性直流电源的特点
基础型电源是一种高性价比、高可靠性、低噪声的电源。纯线性设计,低纹波噪声,可提供基本的供电功能,内置....
howele 发表于 02-19 14:27 •
298次
阅读
轴承维护保养方法与使用注意事项
电机运行中的检查。电机在运行中,应仔细察听双列角接触球轴承部分有无异常的噪声。检查时,可将一螺丝刀头....
龙腾三类轴承厂 发表于 02-19 11:41 •
358次
阅读
实现ST7789图像显示的方法
ESP32-CAM之ST7789图像显示最近笔者在学习使用安信可的ESP32-CAM开发板,该开发板自带一个OV2640摄像头。官方提...
发表于 02-18 07:09 •
173次
阅读
基于Vitis HLS的加速图像处理
Vitis Vision库是OpenCV和Vision功能的加速库,可在Vitis环境中使用,这些库....
赛灵思 发表于 02-16 16:21 •
56次
阅读
如何在RK3288上去安装Opencv开源计算机视觉库呢
Opencv是什么呢?如何在RK3288上去安装Opencv开源计算机视觉库呢?
...
发表于 02-16 07:06 •
427次
阅读
怎样在RK1808设备上去编译opencv4.1.0命令呢
怎样在RK1808设备上去编译opencv4.1.0命令呢?
发表于 02-16 06:14 •
549次
阅读
LT7680/1/3/6串口屏方案的相关资料推荐
LT7680/1/3/6 串口屏方案 是依据乐升半导体的 LT768 TFT 图形加速...
发表于 02-14 07:39 •
42次
阅读
PCB经验分享之噪声的起源
PCB经验分享之噪声的起源
发表于 02-11 15:15 •
54次
阅读
深入了解电路噪声的那些事
一、电路噪声
对于电子线路中所标称的噪声,可以概括地认为,它是对目的信号以外的所有信号的一个总称。最....
发表于 02-11 10:50 •
41次
阅读
浅析放大器中的源电阻和噪声考虑因素
浅析放大器中的源电阻和噪声考虑因素
发表于 02-11 10:12 •
54次
阅读
如何对RK3399Pro python环境进行配置呢
RK3399Pro python环境有哪些配置呢?如何对RK3399Pro python环境进行配置呢?...
发表于 02-11 07:20 •
170次
阅读
DC/DC模块的电源纹波和噪声的测量方案
测量DC/DC电源的纹波和噪声没有一个行业标准。不同厂家的测试环境以及测试标准都不太一样,导致很多人....
发表于 02-10 11:50 •
120次
阅读
DC/DC模块的电源纹波和噪声的介绍
随着开关频率和开关速度不断的提升,在使用开关型的DC/DC电源的时候,要特别关注输入输出电源的纹波。....
发表于 02-10 11:45 •
126次
阅读
应用在电动汽车上的电机有哪些,其特点是什么
应用在电动汽车上的电机有哪些,其特点是什么?
我快闭嘴 发表于 01-27 12:18 •
860次
阅读
树莓派+STM32人脸识别门禁系统(下)----- STM32部分
这个项目的最后一篇博客也是拖了很久了,从开始复习那会儿拖到了期末考完回了家,今天就赶紧把它了....
发表于 01-14 13:06 •
57次
阅读
LT7381 全网最优惠TFT-LCD 图形显示芯片
请联系黄先生13760319462 产品说明 : LT7381 是一款极具价格优势的 TFT....
发表于 01-12 18:02 •
42次
阅读
贴片磁珠有什么作用
磁珠的功能主要是消除存在于传输线结构中的RF噪声,RF能量是叠加在直流传输电平上的交流正弦波成分,直....
发表于 01-07 16:07 •
159次
阅读
《OpenCV视觉应用设计》论文下载
《OpenCV视觉应用设计》论文下载
发表于 12-30 11:18 •
68次
阅读
《内燃机噪声振动与控制》.pdf
《内燃机噪声振动与控制》.pdf
发表于 12-28 09:51 •
94次
阅读
我国十大芯片公司有哪些?
半导体芯片产业是信息技术产业群的核心和基础,是信息技术的重要保障。随着半导体芯片产业的快速发展,世界....
Les 发表于 12-27 14:03 •
1037次
阅读
LabVIEW Vision图像处理开发宝典.PDF
关于LabVIEW的机器视觉教程,内容详尽,全篇441页。
发表于 12-27 11:15 •
288次
阅读
ESP32-CAM之ST7789图像显示
ESP32-CAM之ST7789图像显示最近笔者在学习使用安信可的ESP32-CAM开发板,该开发板....
发表于 12-23 18:57 •
284次
阅读
无纺布表面瑕疵是怎么检测的 可以检测哪些种类的无纺布
无纺布表面缺陷检测系统,主要以先进的机器视觉技术为基础,结合无纺布质地稀少的特点,采用正面照射和反投....
发表于 12-23 15:20 •
120次
阅读
扬尘检测仪能够做到24小时实时在线监测
煤矿的开采,会造成很大的环境污染,煤矿自身的燃烧也是环境污染源的重要因素。特别是露天开采的煤矿,机器....
发表于 12-22 15:36 •
67次
阅读
电感(线圈)的Q值是什么意思
Q值是指示电感质量的参数。“Q” 代表 “品质因子” 。线圈通直流电,但充当交流电的电阻,称为感抗。....
得捷电子DigiKey 发表于 12-21 16:05 •
1295次
阅读
Moku:Pro为软件定义精密测试测量仪器带来突破性创新
Moku:Pro 为软件定义精密测试测量仪器带来了突破性的创新,它兼具了性能和仪器多功能性,提供高度....
贝思科尔 发表于 12-21 11:07 •
478次
阅读
OpenCV中文官方文档
OpenCV中文官方文档
发表于 12-20 10:10 •
107次
阅读
buildroot+qt+qcamrea+opencv打开摄像头进行拍照录像保存功能
相关参考https://blog.csdn.net/zhoubotong2012/article/d....
发表于 12-17 18:42 •
72次
阅读
机器视觉技术检测方法及表面缺陷检测机特点
无锡市东富达机器视觉技术的缺陷检测方法,即利用图像处理和分析对产品可能存在的缺陷进行检测。 在检测产....
发表于 12-17 14:20 •
257次
阅读
扬尘监测设备针对噪声污染的解决方案
扬尘监测设备针对噪声污染的解决方案。噪声污染是现代社会中影响很广泛的污染。噪声污染是看不见摸不到的,....
发表于 12-13 11:48 •
88次
阅读
LT768X最优RGB转MCU串口方案
请联系黄先生13760319462 方案说明 : LT7680/1/3/6 串口屏方案 是依....
发表于 12-08 19:51 •
81次
阅读
LT268C最优MCU串口屏方案内置M4核
LT268x/LT269 是针对小尺寸 MCU 屏所设计的 Uart 串口屏控制芯片。其内部采用 3....
发表于 12-08 13:06 •
81次
阅读
新一代数据中心加速卡Alveo U55C,最大功耗低至150W
近年来,在数字化浪潮的推动下,传感器及其产生的数据量呈现出了爆炸式的增长,对数据处理基础架构的需求也....
荷叶塘 发表于 12-06 09:37 •
4188次
阅读
最简单DIY基于ESP32CAM的物联网相机系统⑥(用上位机VS2013 MFC实现WIFI图传)
第一篇:最简单DIY基于ESP32CAM的物联网相机系统①(用网页实现拍照图传)第二篇:最简单DIY....
发表于 11-30 16:21 •
172次
阅读
浅析Comparator动态噪声的仿真
大家好!转眼又是年底了。这一年马上要过去,不知道大家今年收获到了什么呢? 高速ADC一直是个特别火的....
通向模拟集成电路设计师之路 发表于 11-26 10:17 •
655次
阅读
扬尘在线监测设备助力施工现场扬尘防控
现在施工现场扬尘已经成为制约空气质量改善的重要因素。扬尘污染控制与空气质量有关,城市扬尘的主要污染源....
发表于 11-25 09:38 •
86次
阅读
使用OPENMV控制云台自动追踪Apriltag,测出与Apriltag距离并且通过串口发送给单片机。
使用openmv控制云台自动跟踪Apriltag,并且将openmv与Apriltag距离通过串口发....
发表于 11-23 17:51 •
110次
阅读
基于opencv4和Yolo-Fastest,实现PC和单片机通信,控制步进电机捕获目标
效果视频 基于open....
发表于 11-23 17:36 •
109次
阅读
机器视觉检测为什么能在制造行业中得到广泛的应用
伴随着工业4.0时代的到来,现在工业自动化发展迅猛,机器视觉检测被广泛应用到各种各样的检查、测量和零....
发表于 11-23 14:27 •
214次
阅读
工业自动化的“火眼金睛”—机器视觉检测助力制造业的发展
众所周知机器视觉检测就是代替人眼来做测量和判断,其最大的特点就是速度快、能省很多人力、出产质量高等。....
发表于 11-23 14:25 •
159次
阅读
扬尘在线监测系统如何控制环境扬尘污染
目前,除了雾霾,城市污染的主要来源是道路灰尘和噪声。因此,建立城市粉尘和噪声监测系统是监测城市的重要....
发表于 11-22 15:48 •
114次
阅读
《工程科学学报》—知识图谱的最新进展、关键技术和挑战
知识图谱的最新进展、关键技术和挑战 人工智能技术与咨询 本文来自《 工程科学学报 》,作者马忠....
发表于 11-20 10:41 •
94次
阅读
简述单端接口与差动接口的对比
作者:Thomas Kugelstadt,德州仪器 (TI) 高级应用工程师
单端数据传输....
电子设计 发表于 11-19 17:21 •
504次
阅读
高增益与高带宽要怎么样才能兼得
作者:Xavier Ramus 德州仪器
由于我们必须采用多个功率级,因而同时实现高增益(....
电子设计 发表于 11-19 17:07 •
687次
阅读
运放噪声中反馈会有什么影响
上个月我们研究了同相放大器的噪声,但是我忽略了反馈网络带来的噪声问题。一位读者向我提出疑问,并希望得....
电子设计 发表于 11-19 15:35 •
469次
阅读
富瀚微电子续约睿赛德科技续约签署高级会员合作协议
2021年11月8日- 国内领先的视频监控芯片及解决方案厂商上海富瀚微电子股份有限公司近日与国内知名....
RTThread物联网操作系统 发表于 11-16 14:50 •
633次
阅读
数聚有道 大华物联数智平台助力建设善治之城
数智化浪潮下,大华重磅发布了“Dahua Think# 云联万物 数智未来”战略希望通过自身的技术创....
大华股份 发表于 11-16 09:35 •
1091次
阅读
AVR单片机 实验六 AD转换应用实验
AVR单片机 实验六 AD转换应用实验1 实验目的通过实验,了解AVR单片机模数转换器的初始化,....
发表于 11-14 20:36 •
146次
阅读
图像处理、分析与机器视觉(基于LabVIEW)书籍的电子版
完整的文件压缩包在百度云连接中
链接:https://pan.baidu.com/s/1xYQEf....
发表于 11-10 17:10 •
141次
阅读
大倍率下的高质量图像:用于大型线传感器和区域传感器的快速、高分辨率镜头
在新的“d.fine HR”产品系列中,Qioptiq可提供高分辨率LINOS® d.fine HR....
发表于 11-10 15:22 •
585次
阅读
|