Python实现直方图均衡化高斯滤波


一、直方图绘制

直方图是数值数据分布的精确图形表示。 这是一个连续变量(定量变量)的概率分布的估计,并且被卡尔·皮尔逊首先引入。它是一种条形图。

为了构建直方图,第一步是将值的范围分段,即将整个值的范围分成一系列间隔,然后计算每个间隔中有多少值。 这些值通常被指定为连续的,不重叠的变量间隔。 间隔必须相邻,并且通常是(但不是必须的)相等的大小。

直方图的作用如下:

1、检验数据分布的类型,分析数据是否服从正态分布,判断数据有无异常;

2、与产品规格界限做比较,可直观地判断分布中心是否偏离规格中心,以确定是否需要调整并求出其调整量;还可判断数据分布的散差(分布范围)是否满足规格范围的要求,以确定是否采取缩小散差的技术性措施;

3、用于进行过程能力调查和不合格品率估计;

4、客观地反映操作者的技术水平和主观努力程度。

源码

from PIL import Image
from matplotlib.font_manager import FontProperties
from pylab import *
from numpy import array

font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)

im = array(Image.open('1.jpg').convert('L'))
figure()
subplot(121)
gray()
contour(im, origin='image')
axis('equal')
axis('off')
title('原图轮廓',fontproperties=font)

subplot(122)
hist(im.flatten(),128)
title('图像直方图',fontproperties=font )
show()

输出

在这里插入图片描述


二、均衡化

直方图均衡化实质是对在图像中像素个数多的灰度级进行展宽,而对像素个数少的灰度级进行缩减,从而达到清晰图像的目的。

源码

from PCV.tools import imtools
from PIL import Image
from matplotlib.font_manager import FontProperties
from pylab import *
from numpy import array

font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14)
im = array(Image.open('timg.jpg').convert('L'))
im2,cdf = imtools.histeq(im)
figure()
subplot(221)
axis('off')
gray()
title('原始图片',fontproperties=font)
imshow(im)

subplot(222)
axis('off')
title('均衡化后图片', fontproperties=font)
imshow(im2)

subplot(223)
title('原图直方图',fontproperties=font)
hist(im.flatten(),128,density=True)

subplot(224)
title('均衡化直方图',fontproperties=font)
hist(im2.flatten(),128,density=True)

show()

输出

在这里插入图片描述

三、高斯滤波

图像大多数噪声均属于高斯噪声,因此高斯滤波器应用也较广泛。高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像去噪。
可以简单地理解为,高斯滤波去噪就是对整幅图像像素值进行加权平均,针对每一个像素点的值,都由其本身值和邻域内的其他像素值经过加权平均后得到。
高斯滤波的具体操作是:用一个用户指定的模板(或称卷积、掩膜)去扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。 [2]
一维高斯分布:
在这里插入图片描述
二维高斯分布:
在这里插入图片描述

源码

import cv2
import matplotlib.pyplot as plt

im=cv2.imread("dog.jpg")
# 高斯滤波
img_Guassian = cv2.GaussianBlur(im,(5,5),0)

plt.subplot(121)
plt.imshow(im)
plt.subplot(122)
plt.imshow(img_Guassian)

plt.show()

输出

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值