zoukankan      html  css  js  c++  java
  • 5-3 直方图均衡化

    #灰度 直方图均衡化
    import cv2
    import numpy as np
    img = cv2.imread('image0.jpg',1)
    gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    cv2.imshow('src',gray)
    dst = cv2.equalizeHist(gray)
    cv2.imshow('dst',dst)
    cv2.waitKey(0)

     我们使用直方图均衡化的时候,必须要对单通道进行处理。所以我们首先要完成通道的分解。我们要把原来的三通道分解成单通道。

    split()方法。将彩色图片传递进去之后,它返回的就是一个三通道数据。我们分别把三通道数据为大家实现一下。

    这样我们分别就有三个通道完成了直方图的均衡化。但是通道分解完之后我们要合并在一起。

    经过直方图均衡化之后,整个图片的颜色发生了一定的变化。这是彩色图片均衡化。

    #彩色 直方图均衡化
    import cv2
    import numpy as np
    img = cv2.imread('image0.jpg',1)
    #gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    cv2.imshow('src',img)
    (b,g,r) = cv2.split(img)# 通道分解
    bH = cv2.equalizeHist(b)#bH定义的是b通道的直方图均衡化之后的结果,我们将b通道的数据传递进去
    gH = cv2.equalizeHist(g)
    rH = cv2.equalizeHist(r)
    result = cv2.merge((bH,gH,rH))#merge()方法是opencv自带的 通道合成
    #dst = cv2.equalizeHist(gray)
    #cv2.imshow('dst',dst)
    cv2.imshow('dst',result)
    cv2.waitKey(0)

    图片读取进来之后我们要进行YUV的分解。这个cvt方法不光能实现彩色图片转化为灰度图片,还可以实现RGB图片转化为当前的YUV图片。

    YUV同样是由三个元素组成。它是一个三维的。我们首先把第一维获取出来,第一维的结果我们先把它进行直方图的均衡化一下。

    均衡化之后我们把当前的YUV三个通道再进行合成,合成一个channels。合成之后我们需要把当前的YUV再转成BGR图片。

    #YUV 直方图均衡化
    import cv2
    import numpy as np
    img = cv2.imread('image0.jpg',1)
    #gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    imgYUV = cv2.cvtColor(img,cv2.COLOR_BGR2YCrCb)
    #cv2.imshow('src',gray)
    cv2.imshow('src',img)
    channelYUV = cv2.split(imgYUV)
    channelYUV[0] = cv2.equalizeHist(channelYUV[0])
    #dst = cv2.equalizeHist(gray)
    channels = cv2.merge(channelYUV)
    result = cv2.cvtColor(channels,cv2.COLOR_YCrCb2BGR)
    #cv2.imshow('dst',dst)
    cv2.imshow('dst',result)
    cv2.waitKey(0)
  • 相关阅读:
    document.URL 和 windows.location.href的区别
    毕向东udp学习笔记3多线程聊天
    毕向东udp学习笔记2
    毕向东udp学习笔记1
    udp 服务器界面监听
    android jni 总复习(转载)
    Android jni 编程4(对基本类型二维整型数组的操作)
    Android jni 编程3(对基本类型一维整型数组的操作)总结版
    Android jni 编程2(对基本类型一维整型数组的操作)
    Android jni 编程1(对基本类型字符串的操作)
  • 原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/9733781.html
Copyright © 2011-2022 走看看