直方图平衡是很常用的图像处置方式 , 常用于图像加强 , 过曝处置 , 颜色平衡等方面 。
本文采用python3.6.5+ opencv3.3.1在win7情况下进行直方图平衡 。
需要这些哦
opencv3.3.1
python3.6.5
win7+pycharm
方式/
11:灰度图直方图平衡
依然采用经典的lena图片作为源图片 。
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread("c:\\lena.jpg")
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
cv.imshow("Original Pic", gray)
dst = cv.equalizeHist(gray)
cv.imshow("Result equalizeHist Pic", dst)
plt.hist(gray.ravel(), 256, [0, 256])
plt.show()
plt.hist(dst.ravel(), 256, [0, 256])
plt.show()
cv.waitKey(0)
文章插图
2别离输出源图和处置后的图片 , 以及对应的直方图便于阐发
2:源图以及直方图
文章插图
文章插图
33:平衡后的灰度图以及直方图
图片亮度加强了 , 直方图也与上图大分歧 。
文章插图
文章插图
44:彩色直方图处置 , 需要三个通道别离处置 , 最后再归并!
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
img = cv.imread("c:\\lenacolor.jpg")cv.imshow("Original Pic", img)# 彩色图像对3个通道平衡化(b, g, r) = cv.split(img)bH = cv.equalizeHist(b)gH = cv.equalizeHist(g)rH = cv.equalizeHist(r)# 归并通道dst = cv.merge((bH, gH, rH))cv.imshow("Result equalizeHist Pic", dst)plt.hist(img.ravel(), 256, [0, 256]) plt.show()plt.hist(dst.ravel(), 256, [0, 256]) plt.show()cv.waitKey(0)
文章插图
55:彩色源图以及直方图
较着直方图并不平衡 。
文章插图
文章插图
66:平衡后的灰度图以及直方图
图片颜色转变了 , 直方图也与上图分歧 。
但颜色有所掉真 , 可以考虑采纳其它方式处置更好 。
【python3.6.5环境 opencv3.3.1进行直方图均衡】或者分块处置也可以 。 后续再进一步会商 。
推荐阅读
- 香水的保质期香水的保质期是
- 如何查看Windows 7环境变量
- 松树喜欢水吗,喜欢什么环境
- 微信发表说说如何只发送文字
- 最新微信,如何设置支付环境保镖?更安全
- 绿萝叶面多久喷一次水
- 影响茶叶变质的四种环境条件
- 茶树良种—霍山金鸡种的种植环境
- 配置完opencv环境变量却依然报错怎么办
- 无性系良种有机茶生产技术之基地的环境保护与建设