美文网首页
9.4直方图均衡化

9.4直方图均衡化

作者: MaskStar | 来源:发表于2018-11-09 16:21 被阅读0次
    # -*- coding:utf8 -*-
    
    import cv2
    import numpy as np
    import matplotlib.pyplot as plt
    
    #加载图像 并转换成灰度
    input_file = 'image/3.jpg'
    img = cv2.imread(input_file)
    img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    # 显示图像
    cv2.imshow('img',img)
    cv2.imshow('img_gray',img_gray)
    
    #均衡灰度直方图
    img_gray_histeq = cv2.equalizeHist(img_gray)
    cv2.imshow('img_gray_histeq-GRAY',img_gray_histeq)
    
    #均衡彩色图像的直方图
    img_yuv = cv2.cvtColor(img,cv2.COLOR_BGR2YUV)
    
    # 均衡Y通道
    img_yuv[:,:,0] = cv2.equalizeHist(img_yuv[:,:,0])
    
    # 将其转换回BGR
    img_histeq = cv2.cvtColor(img_yuv,cv2.COLOR_YUV2BGR)
    
    cv2.imshow('img_histeq-COLOR',img_histeq)
    
    
    plt.hist(img.flatten(),256,[0,256],color='r')
    plt.title('img flatten')
    plt.show()
    plt.hist(img_gray.flatten(),256,[0,256],color='g')
    plt.title('img_gray flatten')
    plt.show()
    
    plt.hist(img_gray_histeq.flatten(),256,[0,256],color='r')
    plt.title('img_gray_histeq')
    plt.show()
    plt.hist(img_histeq.flatten(),256,[0,256],color='g')
    plt.title('img_histeq')
    plt.show()
    
    cv2.waitKey()
    
    

    原图

    原图直方图

    image.png

    灰度图

    image.png

    灰度直方图

    image.png

    均衡灰度图

    image.png

    均衡灰度直方图

    image.png

    均衡彩色图

    image.png

    均衡彩色直方图

    image.png

    相关文章

      网友评论

          本文标题:9.4直方图均衡化

          本文链接:https://www.haomeiwen.com/subject/evsoxqtx.html