总结学习下图像处理方面基础知识。
这是第一篇,简单的介绍下使用OpenCV的三个基本功能:
- 图像的读取
- 图像的显示
- 访问图像的像素值
然后概述下图像噪声的类型,并为图像添加两种常见的噪声:高斯噪声和椒盐噪声。
最后,使用中值滤波和均值滤波来处理带有噪声的图像。
OpenCV基础
在OpenCV中,完成图像的输入输出以及显示,只需要以下几个函数:
namedWindow
创建一个可以通过其名字引用的窗口。第一个参数,设置窗口的name,可以通过name引用该窗口;第二个参数,设置窗口的大小。有以下几个选择:
- WINDOW_NORMAL or WINDOW_AUTOSIZE 调整窗口的大小以适应图像,不同的是,使用WINDOW_NORMAL可以手动调整窗口的大小;WINDOW_AUTOSIZE不能调整窗口的大小。
- WINDOW_FREERATIO or WINDOW_KEEPRATIO 改变窗口时是否会保持图像的ratio不变,没发现这俩有什么区别。
imshow
显示图像
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
Mat
是OpenCV中最重要的数据结构,在做图像处理时基本都是对该结构体的操作。Mat
由两部分构成&