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

# -*- coding: utf-8 -*-import numpy as npimport cv2path = "photo.jpg"img = cv2.imread(path,0)#To display image before equalizationcv2.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 histogramfor i in range(width):    for j in range(height):        g = img[j,i]        a[g] = a[g]+1tmp = 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 histogramb=b.astype(np.uint8)#Re-map values from equalized histogram into the imagefor 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()

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章