计算视觉——图像处理基础
一、实验需求
以自己的计算智能博客(大头照或生活照)为基础,做完图像处理基础章节内容,并将直方图、高斯滤波、直方图均衡化的结果及基本原理描述放到博客中
二、图像处理基本原理
1.灰度直方图反映的是一幅图像中各灰度级像素出现的频率。以灰度级为横坐标,纵坐标为灰度级的频率,绘制频率同灰度级的关系图就是灰度直方图。它是图像的一个重要特征,反映了图像灰度分布的情况。
频率公式为:$v_i=n_i/n$ ($ni$为灰度为i的像元个数,$n_i$表示整张图片的像元数,$n$表示把灰度分成多少级,该实验分为256级)
2.高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 [1] 通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
3.如果一幅图像的灰度直方图几乎覆盖了整个灰度的取值范围,并且除了个别灰度值的个数较为突出,整个灰度值分布近似于均匀分布,那么这幅图像就具有较大的灰度动态范围和较高的对比度,同时图像的细节更为丰富。已经证明,仅仅依靠输入图像的直方图信息,就可以得到一个变换函数,利用该变换函数可以将输入图像达到上述效果,该过程就是直方图均衡化。
三、实验结果及代码展示
原图
3.1.1 直方图
3.1.2 histogram.py
3.2高斯滤波
3.2.1
3.2.2 gauss.py
3.3直方图均衡化
3.3.1
3.3.2 equalization.py
四、总结
1.相关函数的功能学习
convert(‘L’):将图片转变为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
contour():画出图片轮廓
rof.denoise():基于rof的降噪处理
filters.gaussian_filter():高斯模糊处理
imtools.histeq():用自带的工具包生成均衡化直方图
2.关于环境配置时遇到的一点问题和解决方法
1)安装pillow时跳出提示已安装但是环境仍然无法运行的问题
解决方法:可能是版本不对应,尝试卸载当前PIL后重新安装
2)安装完pillow和PCV等后,还需要在pycharm里导入环境
3)从cmd或pycharm里安装存在网速局限性的问题
可以查看一下错误原因,如果有read time out等字段说明超时
ps:网速问题是无解的,建议换个有良好wifi环境的房子