暂无分类
暂无标签
发布于2020-07-20 19:55 阅读(874) 评论(0) 点赞(28) 收藏(4)
0
1
2
3
4
5
6
7
统计各个像素点的频率绘制直方图
计算各个像素点的累计概率
利用累计概率重新绘制图片
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('image0.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('src',gray)
count = np.zeros(256,np.float)
for i in range(0,height):
for j in range(0,width):
pixel = gray[i,j]
index = int(pixel)
count[index] = count[index]+1
for i in range(0,255):
count[i] = count[i]/(height*width)
#计算累计概率
sum1 = float(0)
for i in range(0,256):
sum1 = sum1+count[i]
count[i] = sum1
# 计算映射表
map1 = np.zeros(256,np.uint16)
for i in range(0,256):
map1[i] = np.uint16(count[i]*255)
# 映射
for i in range(0,height):
for j in range(0,width):
pixel = gray[i,j]
gray[i,j] = map1[pixel]
cv2.imshow('dst',gray)
cv2.waitKey(0)
原文链接:https://blog.csdn.net/m0_37712876/article/details/107451306
0
1
2
3
4
5
6
7
8
9
作者:9384vfnv
链接: https://www.pythonheidong.com/blog/article/450985/04907e0009063f863aee/
来源: python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系z452as@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!