前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >直方图均衡化处理

直方图均衡化处理

作者头像
mythsman
发布2022-11-14 14:25:32
1930
发布2022-11-14 14:25:32
举报
文章被收录于专栏:mythsman的个人博客

直方图均衡化方法属于图像增强的范畴,是一种对图像进行灰度级修正的方法。简而言之,就是对一个灰度图像进行处理,使他的特征更加明显。通常情况下,在对图像进行进一步的处理之前,直方图均衡化是一种对灰度进行归一化处理的好方法,而且也可以增强图像的对比度。

概述

这个方法的思路非常简单,就是我们把一个灰度图像以0-255个灰度值为横坐标,灰度对应的像素点的个数为纵坐标,构成一个灰度直方图。对于那些灰度分布非常不均衡的图像来说,我们要做的就是通过对灰度值进行一个映射,将他灰度直方图尽可能的拉伸。通常情况下我们可以对他的累计分布函数(CDF)进行线性插值即可,实现起来也很简单。

用法

当然我们并不需要每次都自己写,调用matplotlib的函数可以很轻松的画出直方图,调用OpenCV的函数可以很轻松的进行均衡化:

代码

代码语言:javascript
复制
# coding: utf-8

import Image,cv2
import numpy as np
from pylab import *

raw=Image.open('test.png')
im=np.array(raw.convert('L'))

gray()
figure()
hist(im.ravel(),256,[0,256])#matplotlib的函数,hist用来绘直方图,ravel是将二维图像数组转换成一维数组
xlim([0,256])

equ=cv2.equalizeHist(im)    #OpenCV直方图均衡化的接口
figure()
hist(equ.ravel(),256,[0,256])
xlim([0,256])

figure()
imshow(raw)

res=np.hstack((im,equ))    #将两个图像水平合并方便查看
figure()
imshow(res)

show()

效果

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 用法
    • 代码
      • 效果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档