例子源于OpenCV官网手册(https://docs.opencv.org/4.x/d4/d1b/tutorial_histogram_equalization.html)
直方图均衡化
使用OpenCV函数cv::equalizeHist均衡图像的直方图
下述代码功能:
加载一个图像。
将原始图像转换为灰度。
使用OpenCV函数cv::equalizeHist均衡直方图。
在窗口中显示源图像和均衡图像。
from __future__ import print_function
import cv2 as cv
import argparse
#加载原图像
parser = argparse.ArgumentParser(description='Code for Histogram Equalization tutorial.')
parser.add_argument('--input', help='Path to input image.', default='dog46.png')
args = parser.parse_args()
src = cv.imread(cv.samples.findFile(args.input))
if src is None:
print('Could not open or find the image:', args.input)
exit(0)
#转为灰度
src = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
#使用函数cv::equalizeHist应用直方图均衡化:
dst = cv.equalizeHist(src)#很容易看出,唯一的参数是原始图像和输出(均衡)图像。
#同时显示图片(原图和均衡图):
cv.imshow('Source image', src)
cv.imshow('Equalized Image', dst)
cv.waitKey()