如何使用python中cv2实现直方图均衡化

时间:2026-02-12 09:07:08

1、首先创建一个python文件,导入库文件

    import sys

    import cv2

2、加载输入图像

     input_file = sys.argv[1]  # 也可以采用 input_file = 'filename.jpg'

     img = cv2.imread(input_file)

如何使用python中cv2实现直方图均衡化

3、将图像转换成灰度图

     img_gray = cv2.cvtColor(img,出)

如何使用python中cv2实现直方图均衡化

4、均衡灰度图像的直方图

     img_gray_histeq = cv2.equalizeHist(img_gray)

如何使用python中cv2实现直方图均衡化

5、均衡彩色图像的直方图

     首先将图像转换为YUV色彩空间,均衡Y通道,然后将其转换回RGB并得到        输出。http://softpixel.com/~cwright/programming/colorspace/yuv可      以查看更多YUV色彩空间。OpenCV默认用BGR格式加载图像,因此需要先      将其从BGR转化为YUV。

     

      img_yuv = cv2.cvtColor(img,cv2COLOR_BGR2GRAY)

如何使用python中cv2实现直方图均衡化

6、均衡Y通道

     img_yuv[:,:,0] = cv2.equalizeHist(img_yuv[:,:,0])

如何使用python中cv2实现直方图均衡化

7、将其转换回BGR,显示输出图像

     img_histeq = cv2.cvtColor(img_yuv,cv2.COLOR_YUV2BGR)

     cv2.imshow('Histogram equalisted - color',img_histeq)

     cv2.waitKey()

如何使用python中cv2实现直方图均衡化

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com