概述
import cv2
import numpy as np
image_src = cv2.imread('.picture.bmp') # 读入原图像
#图像彩色通道均衡化
def normalizePicture(image):
rows, cols, BGR = image.shape # 获取原图像像素点的宽度和高度和三通道
BGR_Hist = np.zeros((BGR,256))
normalize_image = image.copy()
for i in range(rows): # 统计各个通道值的个数
for j in range(cols):
for k in range(BGR):
BGR_Hist[k,image[i,j,0]] = BGR_Hist[k,image[i,j,0]]+1
p_BGR_hist = BGR_Hist/(rows *cols)
p_BGR_add_hist = np.zeros(BGR_Hist.shape)
p_BGR_add = p_BGR_hist[:,0]
for i in range(1, 256): # 令p_add_hist每个元素都为p_hist同下标的前面元素的累加值
p_BGR_add +=p_BGR_hist[:,i]
p_BGR_add_hist[:,i] = p_BGR_add
for i in range(rows):
for j in range(cols):
for k in range(BGR):
normalize_image[i,j,k] = p_BGR_add_hist[k,image[i,j,k]] * 255
return normalize_image
normalize_image=normalizePicture(image_src)
cv2.imshow('image', normalize_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
关于网上灰度图像的均衡化挺多了,一般彩色通道均衡化的结果也没什么用,
但是因为要写作业,网上又没有搜到,就基于灰度均衡化的写法照着写了一个,
区别也就在于通道数*3,写的时候在张量的形状上稍微注意下就好
picture.bmp
normalize_picture.bmp
最后
以上就是眯眯眼缘分为你收集整理的数字图像处理:图像彩色通道均衡化的全部内容,希望文章能够帮你解决数字图像处理:图像彩色通道均衡化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复