gpt4 book ai didi

python - 改善绘制直方图代码的运行时间

转载 作者:太空宇宙 更新时间:2023-11-03 23:06:45 24 4
gpt4 key购买 nike

有没有办法加快这段代码的速度?
此代码计算图像的直方图并显示它。

我想这样做而不使用calcHist。
我知道运行缓慢的是循环,但是我不知道如何改善循环。

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt

img = cv.imread('img.PNG')
img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)

histogram = np.zeros(256, dtype=np.uint8)

for i in range(img.shape[0]):
for j in range(img.shape[1]):
for k in range(len(histogram)):
if img[i][j] == k:
histogram[k] += 1
plt.figure()
plt.title('Gray Scale Histogram')
plt.xlabel('gray scale value')
plt.ylabel('pixels')
plt.plot(histogram)

plt.show()

最佳答案

摆脱三重循环和比较,并利用颠簸的高效比较运算符。当然,这仅在img为int时有效。如果 float ,则舍入数据。

    for k in range(len(histogram)):
histogram[k] = np.sum(img.flat == k)

关于python - 改善绘制直方图代码的运行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56875849/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com