分享

phython+opencv图像处理

 pythonjava学习 2021-04-06
做了两天的直方图均衡,还差一点点,先把前面的发布出来,后面的再慢慢来吧
直方图均衡主要是用于增强动态范围偏小的图像。
它的基本思想是把原始图像的直方图变换为在整个灰度范围内均匀分布的形式,这样可以增加像素灰度值的动态范围,从而达到增强图像对比度的结果。
它的步骤如下:
1、统计直方图每个灰度级出现的次数
其代码如下:

2、归一化直方图
其代码如下:
3、累积直方图
其代码如下:

4、取整
取整函数为g=int[(L-1)f+0.5]
其中,f是原值,L是灰度级-1
其代码如下:
后面还有两步,5、确定映射关系,计算新的直方图。6、输出图像。
这两步下一篇再介绍。
这里演示一下前四步的运行结果为:

主程序的代码如下:
#主程序
img=cv.imread('E:/image/road.jpg',0)
re=h(img)#原图直方图
gui=normed(re,img)#归一化直方图
lei=leiji(gui)#累积直方图
z=zheng(lei)#取整
plt.figure(figsize=(12,5))
plt.subplot(141)
plt.bar(range(256),re,width=1)
plt.title("直方图")
plt.subplot(142)
plt.bar(range(256),gui,width=1)
plt.title("归一化直方图")
plt.subplot(143)
plt.bar(range(256),lei,width=1)
plt.title('累积直方图')
plt.subplot(144)
plt.bar(range(256),z,width=1)
plt.title("取整后直方图")

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多