彩色图像直方图均衡化opencv的python实现

如果一副图像具有全部可能的灰度级,并且像素值的灰度均匀分布,那么这副图像就具有高对比度和多变的灰度色调。灰度级丰富且覆盖范围较大。在外观上这样的图像具有更加丰富的色彩,不会过暗或者过亮。
直方图均衡化的主要目的是将原始图像的灰度级均匀地映射到整个灰度级范围内,得到一个灰度级分布均匀的图像

直方图均衡化的两种方法:
第一在原有范围内实现均衡化。在原有的范围内实现直方图均衡化是,用当前灰度级的累计概率乘以当前灰度级的最大值,得到新的灰度级

第二在更广泛的为范围内实现均衡化
在更广泛的范围内实现直方图均衡化时,用当前灰度级的累计概率乘以更加广泛范围内的灰度级的最大值,得到新的灰度级,并作为均衡化的结果

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('../data/1.jpg')

img0 = cv2.equalizeHist(img[:, :, 0])  # 各个通道分别均衡化
img1 = cv2.equalizeHist(img[:, :, 1])
img2 = cv2.equalizeHist(img[:, :, 2])

img_e = cv2.merge([img0, img1, img2])

plt.figure('original')
plt.hist(img.ravel(), 256)
plt.figure('after')
plt.hist(img_e.ravel(), 256)
plt.show()

cv2.imshow('img', img)
cv2.imshow('e_img', img_e)
cv2.waitKey()
cv2.destroyAllWindows()
cv2.imwrite('../data/equ.jpg', img_e)

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Python中进行彩色图像直方图均衡化,可以采用以下步骤: 1. 将彩色图像转换为HSI(Hue, Saturation, Intensity)模型。可以使用OpenCV库中的cvtColor()函数将RGB图像转换为HSI图像。HSI模型中的亮度通道(Intensity)对应图像的灰度信息。 2. 对亮度通道进行直方图均衡化。可以使用OpenCV库中的equalizeHist()函数对亮度通道进行直方图均衡化操作。 3. 将处理后的亮度通道与原始的色调(Hue)和饱和度(Saturation)通道组合,得到均衡化后的HSI图像。 4. 将均衡化后的HSI图像转换回RGB模型。可以使用OpenCV库中的cvtColor()函数将HSI图像转换为RGB图像。 下面是一个简单的示例代码: ```python import cv2 # 读取彩色图像 image = cv2.imread('image.jpg') # 将图像转换为HSI模型 hsi_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 提取亮度通道 intensity_channel = hsi_image[:,:,2] # 对亮度通道进行直方图均衡化 equalized_intensity = cv2.equalizeHist(intensity_channel) # 将均衡化后的亮度通道与原始的色调和饱和度通道组合 hsi_image[:,:,2] = equalized_intensity # 将均衡化后的HSI图像转换回RGB模型 equalized_image = cv2.cvtColor(hsi_image, cv2.COLOR_HSV2BGR) # 显示结果 cv2.imshow('Original Image', image) cv2.imshow('Equalized Image', equalized_image) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在上面的示例代码中,我们首先读取了彩色图像,然后将其转换为HSI模型。接下来,我们提取了亮度通道,对其进行直方图均衡化,然后将处理后的亮度通道与原始的色调和饱和度通道组合,最后将均衡化后的HSI图像转换回RGB模型。最后,我们显示了原始图像和均衡化后的图像。 请注意,上述代码仅为示例,你可以根据自己的需求进行适当的修改和优化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [(Python数字图像处理)彩色图像处理---色调和彩色校正以及直方图均衡化](https://blog.csdn.net/qq_44926189/article/details/121178739)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [灰度图像和彩色图像直方图均衡化python实现)](https://blog.csdn.net/zhao9428686/article/details/105394328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值