我是靠谱客的博主 眯眯眼缘分,最近开发中收集的这篇文章主要介绍数字图像处理:图像彩色通道均衡化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

 

最后

以上就是眯眯眼缘分为你收集整理的数字图像处理:图像彩色通道均衡化的全部内容,希望文章能够帮你解决数字图像处理:图像彩色通道均衡化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部