直方图平衡是很常用的图像处置方式, 常用于图像加强, 过曝处置, 颜色平衡等方面 。
本文采用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进行直方图均衡】或者分块处置也可以 。 后续再进一步会商 。
文章插图
文章插图
注重事项运行情况win7+pycharm+python3.6.5+ opencv3.3.1
直方图仅仅是图像加强或者颜色校正的一种方式, 并不是所有场景都有好的结果
对于过曝图片yuv方式也是可以考虑的 。
以上内容就是python3.6.5环境 opencv3.3.1进行直方图均衡的内容啦, 希望对你有所帮助哦!
推荐阅读
- 盆栽梅花的养殖方法:重要的是养护的环境
- 如何查看Windows 7环境变量
- 梅花常见病害与防治,喷药养护改善环境才能根治
- 一叶兰适合放卧室吗?一叶兰可以净化空气美化环境
- 有机茶的生产技术
- 饲养猫咪家庭须知7个安全环境
- 曼陀罗养殖方法:喜温暖湿润、向阳环境,怕涝
- 凤仙花适宜生活的环境是
- 猫咪良好的生活环境必备哪些
- 室内盆栽花卉如何选购:住所朝向环境,个人喜好