Python图像处理,直方图、高斯滤波、直方图均衡化

本文介绍了Python中利用Matplotlib库进行图像直方图绘制,探讨了高斯滤波的基本原理及其实现,以及直方图均衡化的概念、代码实现与效果展示。直方图用于分析图像像素分布,高斯滤波用于图像降噪,直方图均衡化则可提升图像对比度。
摘要由CSDN通过智能技术生成

直方图

基本原理

直方图
直方图,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。图像的直方图用来表征该图像像素值的分布情况。用一定数目的小区间(bin)来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。图像直方图图形化显示不同的像素值在不同的强度值上的出现频率,对于灰度图像来说强度范围为[0~255]之间,对于RGB的彩色图像可以独立显示三种颜色的图像直方图。同时直方图是用来寻找灰度图像二值化阈值常用而且是有效的手段之一,如果一幅灰度图像的直方图显示为两个波峰,则二值化阈值应该是这两个波峰之间的某个灰度值。并且直方图是调整图像对比度的重要依据,直方图拉伸和直方图均衡化是两种最常见的间接对比度增强方法。

Matplotlib库
Matplotlib库主要的作用,是用来生成绘图,直方图,功率谱,条形图,错误图,散点图等,而Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。

subplot函数
subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行:

1、subplot(1,2,1):一个FIGURE图形生成一行两列两个子图,subplot(1,2,1)后面一个1表示当前激活第二个子图。

2、subplot(1,2,2):一个FIGURE图形生成一行两列两个子图,subplot(1,2,2)后面一个2表示当前激活第二个子图。

hist函数
hist有直方图的意思,直方图也被称为频数直方图,它用来显示数据集的分布情况。在MATLAB中绘制直方图的函数是hist,用法是hist(y,x),表示以向量x的各个元素为统计范围,绘制y的分布情况。

通过Matplotlib库图实现像轮廓和直方图

# -*- coding: cp936 -*-
from PIL import Image
from pylab import *

plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

im = array(Image.open('wangtu.jpg').convert('L'))
print(im)
figure()
subplot(121)
gray()
contour
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值