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

OpenCV图像处理(十七)---图像直方图均衡化

作者头像
用户5410712
发布2022-06-01 19:16:09
3890
发布2022-06-01 19:16:09
举报
文章被收录于专栏:居士说AI

欧姆定律是指在同一电路中,通过某段导体的电流跟这段导体两端的电压成正比,跟这段导体的电阻成反比。该定律是由德国物理学家乔治·西蒙·欧姆1826年4月发表的《金属导电定律的测定》论文提出的。

随研究电路工作的进展,人们逐渐认识到欧姆定律的重要性,欧姆本人的声誉也大大提高。为了纪念欧姆对电磁学的贡献,物理学界将电阻的单位命名为欧姆,以符号Ω表示。

前言

在上一期的文章中,我们学习了图像的直方图绘制,了解到直方图其实就是对图像像素值数量-大小分布的一个统计图,它能够描述图像中像素值的分布情况。今天,我们将继续学习图像的新知识--直方图均衡化。

一、直方图均衡化介绍

还记得之前我们讲到的直方图均衡化吗?简单地说,使得图像的像素值尽量分布均匀,而不是高低差落较大,这样的好处是,能够更好的观察图像的细节部分,形成鲜明的对比度。咱们接着往下看!

1.1 原始图像

(原始图像十分的灰蒙,图中目标对比度也较低,不能很好地进行观察)

1.2 代码实践

代码语言:javascript
复制
# -*- coding:utf-8 -*-
# 导入cv库
import cv2
import numpy as np
import matplotlib.pyplot as plt

# 导入原始图像,色彩空间为灰度图
src_img = cv2.imread('src_img.png', 0)
# 调用cv2.calcHist 函数绘制直方图
# 每个参数的意思在上期文章已讲述,请回顾
img_hist = cv2.calcHist([src_img], [0], None, [256], [0, 256])

# 直方图均衡化,调用cv2.equalizeHist 函数实心
result_img = cv2.equalizeHist(src_img)
# 显示原始图像
cv2.imshow('src_img', src_img)  
# 显示均衡化后的图像
cv2.imshow('result_img', result_img)  
cv2.waitKey(0)


# 用蓝色绘制原始图像直方图
plt.plot(img_hist, color="b")
plt.show()

# 绘制均衡化后的直方图
plt.hist(result_img.ravel(), 256, [0, 256])
plt.show()

代码解读:代码中用到了cv2.equalizeHist 函数,该函数的作用是对目标图像进行均衡化,可以看到,该函数的参数只用到了一个,整个原始图像的灰度数据,因此该均衡化是对全局均衡化,当然,我们可以选择摸某一个区域进行均衡化。后面的代码主要是对原始图像和均衡化图像的直方图进行显示,针对原始图像,我们已经计算出了直方图,因此直接进行plt.plot(img_hist, color="b")显示,针对均衡化后的图像,由于我们并没有计算直方图,因此采用图像数据。ravel的方式进行显示。

1.3 效果演示

1)均衡化后的图像

(可以看到,均衡化后的图像比之前的图像在对比度上提升了很多,色彩变得充实了起来,便于我们进一步观察图像的某个目标)

2)原始图像直方图

(可以看到,原始图像的直方图像素值分布不均匀,且像素值范围多集中在100-200区域,不能很好地表示图像细节,也就是为啥它代表的图像看起来不丰富,细节不清晰了。)

3)均衡化后的直方图

(可以看到,均衡化后的图像较之前像素值分布较为均匀,像素值的范围几乎都分布了像素)

结语

今天的分享结束了,我们主要对直方图的均衡化进行了知识讲解和代码实践,均衡化主要是调用了opencv的函数实现,较为简单,但是,具体实际项目是,为了不对全局造成变化,仅仅对目标区域进行操作时,我们要进行ROI区域选择,特定性针对才能提高项目速度,此外,今天的代码使用的图像时是灰度图,大家可以使用彩色图做直方图均衡化,那样看起来会更加丰富且具有色彩空间感,代码与今天的也差不多,期待大家熟练今天的内容,用到以后的实际项目中。我们下期再见。

编辑:玥怡居士|审核:小圈圈居士

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT进阶之旅 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档