OpenCV灰度图像直方图算法达成
发布时间:2021-11-12 11:13:05 所属栏目:PHP教程 来源:互联网
导读:手动实现一个灰度直方图算法,过程很简单,主要有以下几步: 1. 统计每一个像素灰度值 2. 计算每个灰度值出现的概率 3. 横坐标 0-255 4. 纵坐标为概率P 直方图效果如下: # 本质: 统计每一个像素灰度 出现的概率 横坐标 0-255 纵坐标 概率P import cv2 import
手动实现一个灰度直方图算法,过程很简单,主要有以下几步: 1. 统计每一个像素灰度值 2. 计算每个灰度值出现的概率 3. 横坐标 0-255 4. 纵坐标为概率P 直方图效果如下: # 本质: 统计每一个像素灰度 出现的概率 横坐标 0-255 纵坐标 概率P import cv2 import numpy as np import matplotlib.pyplot as plt img = cv2.imread('wwww.linuxidc.com.jpg', 1) imgInfo = img.shape height = imgInfo[0] width = imgInfo[1] gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) count = np.zeros(256, np.float) # 因为是概率, 有可能是浮点数 # 统计像素个数并计算概率 for i in range(height): for j in range(width): pixel = gray[i, j] index = int(pixel) count[index] = count[index] + 1 total = height * width # 总像素个数 count = count / total # 计算概率 # 画图 x = np.linspace(0, 255, 256) y = count plt.bar(x, y, 0.9, alpha = 1, color = "b") plt.show() (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |