b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

深入了解OpenCV + Python直方图均衡化

电脑杂谈  发布时间:2020-04-26 09:16:28  来源:网络整理

局部直方图均衡化_局部直方图均衡化opencv2_直方图均衡

直方图均衡化是一种在图像处理领域中使用图像直方图调整对比度的方法.

基本思想: 将原始图像的直方图转换为均匀分布的形式,从而增加了像素灰度值的动态范围,从而增强了整体图像对比度.

直方图均衡的三种情况是:

插入原始图片:

直方图均衡_局部直方图均衡化_局部直方图均衡化opencv2

深入理解OpenCV+Python直方图均衡化

原始图片

对于直方图均衡化局部直方图均衡化opencv2,主要使用opencv提供的equalizeHist()方法.

import cv2
import numpy as np
img = cv2.imread("linuxidc.com.jpg", 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("linuxidc", gray)
dst = cv2.equalizeHist(gray)
cv2.imshow("linuxidc.com", dst)
cv2.waitKey(0)

直方图均衡_局部直方图均衡化opencv2_局部直方图均衡化

将灰度图像作为参数传递给equalizeHist()方法,效果如下:

深入理解OpenCV+Python直方图均衡化

彩像的直方图均衡化与灰度图像略有不同. 您首先需要使用split()方法拆分彩像,拆分三个通道,然后分别均衡它们. 三个通道合并后,操作如下:

import cv2
import numpy as np
img = cv2.imread("linuxidc.com.jpg", 1)
cv2.imshow("www.linuxidc.com", img)
# 彩像均衡化,需要分解通道 对每一个通道均衡化
(b, g, r) = cv2.split(img)
bH = cv2.equalizeHist(b)
gH = cv2.equalizeHist(g)
rH = cv2.equalizeHist(r)
# 合并每一个通道
result = cv2.merge((bH, gH, rH))
cv2.imshow("linuxidc.com", result)
cv2.waitKey(0)

直方图均衡_局部直方图均衡化_局部直方图均衡化opencv2

均衡后的效果如下:

深入理解OpenCV+Python直方图均衡化

import cv2
import numpy as np
img = cv2.imread("linuxidc.com.jpg", 1)
imgYUV = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
cv2.imshow("linuxidc.com", img)
channelsYUV = cv2.split(imgYUV)
channelsYUV[0] = cv2.equalizeHist(channelsYUV[0])
channels = cv2.merge(channelsYUV)
result = cv2.cvtColor(channels, cv2.COLOR_YCrCb2BGR)
cv2.imshow("www.linuxidc.com", result)
cv2.waitKey(0)

均衡后的效果如下:

直方图均衡_局部直方图均衡化_局部直方图均衡化opencv2

深入理解OpenCV+Python直方图均衡化

有关Python的更多信息局部直方图均衡化opencv2,请参见Python特殊页面

Linux社区的RSS地址:

本文将永久更新链接地址:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-189374-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 崔玄童
        崔玄童

        我们也希望为他筹多点钱去治疗

      热点图片
      拼命载入中...