深入理解OpenCV+Python直方图均衡化

栏目: Python · 发布时间: 5年前

内容简介:直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。基本思想:把原始图的直方图变换为均匀分 布的形式,这样就增加了像素灰度值的动态 范围,从而达到增强图像整体对比度的效果。直方图均衡化的三种情况,分别是:

直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。

基本思想:把原始图的直方图变换为均匀分 布的形式,这样就增加了像素灰度值的动态 范围,从而达到增强图像整体对比度的效果。

直方图均衡化的三种情况,分别是:

  • 灰度图像直方图均衡化
  • 彩色图像直方图均衡化
  • YUV 直方图均衡化

插入原图:

深入理解OpenCV+Python直方图均衡化

原图

灰度图像直方图均衡化

对直方图均衡化主要使用opencv提供的一个equalizeHist()方法。

import cv2
import numpy as np

img = cv2.imread("linuxidc.com.jpg", 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("linuxidc", gray)

dst = cv2.equalizeHist(gray)
cv2.imshow("linuxidc.com", dst)

cv2.waitKey(0)

将灰度图像作为参数传进equalizeHist()方法即可,效果如下:

深入理解OpenCV+Python直方图均衡化

彩色图像直方图均衡化

彩色图像的直方图均衡化和灰度图像略有不同,需要将彩色图像先用split()方法,将三个通道拆分,然后分别进行均衡化.最后使用merge()方法将均衡化之后的三个通道进行合并.操作如下:

import cv2
import numpy as np

img = cv2.imread("linuxidc.com.jpg", 1)
cv2.imshow("www.linuxidc.com", img)

# 彩色图像均衡化,需要分解通道 对每一个通道均衡化
(b, g, r) = cv2.split(img)
bH = cv2.equalizeHist(b)
gH = cv2.equalizeHist(g)
rH = cv2.equalizeHist(r)
# 合并每一个通道
result = cv2.merge((bH, gH, rH))
cv2.imshow("linuxidc.com", result)

cv2.waitKey(0)

均衡化之后的效果如下:

深入理解OpenCV+Python直方图均衡化

YUV 直方图均衡化

import cv2
import numpy as np
img = cv2.imread("linuxidc.com.jpg", 1)

imgYUV = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
cv2.imshow("linuxidc.com", img)

channelsYUV = cv2.split(imgYUV)
channelsYUV[0] = cv2.equalizeHist(channelsYUV[0])

channels = cv2.merge(channelsYUV)
result = cv2.cvtColor(channels, cv2.COLOR_YCrCb2BGR)
cv2.imshow("www.linuxidc.com", result)

cv2.waitKey(0)

均衡化之后效果如下:

深入理解OpenCV+Python直方图均衡化

更多 Python 相关信息见 Python 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=17

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-05/158620.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

最优化导论

最优化导论

Edwin K. P. Chong、Stanislaw H. Zak / 孙志强、白圣建、郑永斌、刘伟 / 电子工业出版社 / 2015-10 / 89.00

本书是一本关于最优化技术的入门教材,全书共分为四部分。第一部分是预备知识。第二部分主要介绍无约束的优化问题,并介绍线性方程的求解方法、神经网络方法和全局搜索方法。第三部分介绍线性优化问题,包括线性优化问题的模型、单纯形法、对偶理论以及一些非单纯形法,简单介绍了整数线性优化问题。第四部分介绍有约束非线性优化问题,包括纯等式约束下和不等式约束下的优化问题的最优性条件、凸优化问题、有约束非线性优化问题的......一起来看看 《最优化导论》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具