[英]How can I make histogram without using numpy histogram
import cv2
import numpy as np
import matplotlib.pyplot as plt
def my_histogram(img, bins, range):
hist =
return hist
我需要填寫 hist 而不使用 np.histogram 或其他直方圖 function
img = cv2.imread('sample.jpg')
img_g = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
hist = my_histogram(img_g, 256, [0,256])
plt.plot(hist)
plt.xlim([0,256])
plt.show()
np.unique
是一個效率較低的直方圖實用程序,因為它對數據進行排序而不是直接處理它:
bins, hist = np.unique(img.ravel(), return_counts=True)
我不會為您提供確切的答案,因為這看起來像一個家庭作業。 基本上,灰度圖像中的每個像素都有一個與之關聯的數字,范圍從 0 到 255。您要做的是對具有相同值的像素數求和(有多少值為 0,有多少值為 1 , 有多少個值為 2 等)。 您可能可以使用 numpy 來幫助您,而無需調用直方圖 function(例如查看此鏈接)。
然后,您可以使用 matplotlib plot 條形圖來顯示您的直方圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.