「 python 」不呼叫早就包好的 histogram equalization 函式,而是用公式推导

# -*- coding: utf-8 -*-
import numpy as np
import cv2

path = "photo.jpg"
img = cv2.imread(path,0)

#To display image before equalization
cv2.imshow('image',img)
cv2.waitKey(0)


a = np.zeros((256,),dtype=np.float16)
b = np.zeros((256,),dtype=np.float16)
height,width=img.shape
#finding histogram
for i in range(width):
    for j in range(height):
        g = img[j,i]
        a[g] = a[g]+1
tmp = 1.0/(height*width)
b = np.zeros((256,),dtype=np.float16)
for i in range(256):
    for j in range(i+1):
        b[i] += a[j] * tmp;
    b[i] = round(b[i] * 255);
# b now contains the equalized histogram
b=b.astype(np.uint8)
#Re-map values from equalized histogram into the image
for i in range(width):
    for j in range(height):
        g = img[j,i]
        img[j,i]= b[g]
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

<<:  系统分析师的养成之路—如何培养商业思维篇

>>:  Leet Code 4. Running Sum

【Day23】人力资源篇-Attendances

#odoo #开源系统 #数位赋能 #E化自主 员工上下班打卡,这也许是最贴近所有上班族的流程,更是...

[Tableau Public] day 18:试着分析appstore资料集-3

中秋连假第一天,再怎麽样还是要打起精神继续挑战铁人赛。 今天来看看所有appstore商店中的app...

考试的日子

终於到了考试的日子,学生们纷纷按照座位表坐上属於自己的位置,遵循白板上的说明检测电脑环境之後,考试就...

DAY06 - 常用的网路服务

今天是铁人赛的第六天,内容是我在自学过程所会使用的网站服务 CodePen CodePen这个神奇的...

Day22 vue.js修改文章

延续昨日 今天来把修改文章的功能完成 修改文章跟修改帐户讯息基本上一样 所以我们就先从创一个Chan...