Python直方图、均衡化、高斯滤波(作业一)
原图


图像直方图
基本原理
什么是图像直方图:图像的直方图描述图像的灰度级和对应灰度级在图像中出现的次数(频率)的关系,通过直方图可以进行图像分割、检索、分类等操作。
matplotlib库的hist函数:hist函数能够帮助绘制直方图。它的参数很多,这里用到前两个参数:x、bins。x参数表示一个像素的一 维数组,如果是一维以上的数组可以使用flatten方法展平成一维,一般来说读入一幅图片都是一个二维的矩阵,都需要进行展平的操作。bins参数表示要显示直方图的柱数。
假设有一个二维数组img=[44,33,40],[51,46,34],[45,33,22]]。其数字表示图像的像素值,展平后img=[44,33,40,51,46,34,45,33,22]。
matplotlib库绘制直方图
运行代码
//
from PIL import Image
from pylab import *
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False
# 解决中文乱码
im = array(Image.open('edc.jpg').convert('L'))
# print(im)
figure()
# 新建一个图像
subplot(121)
gray()
contour(im, origin='image')
# 画图
axis('equal')
# 自动调整比例
axis('off'

本文介绍了Python中图像处理的三个关键概念:图像直方图的基本原理及matplotlib库的绘制方法,直方图均衡化的概念、计算步骤以及使用PCV库的应用,以及高斯滤波的定义、作用和在OpenCV中的实现。通过实例展示了直方图均衡化和高斯滤波对图像对比度和噪声的影响。
最低0.47元/天 解锁文章
461

被折叠的 条评论
为什么被折叠?



