如何绘制定向直方图?

时间:2019-05-23 03:32:20

标签: python matplotlib scikit-learn scikit-image

如何使用matplotlib绘制HOG?我无法像下面的示例那样发现人们如何绘制它:

https://gurus.pyimagesearch.com/lesson-sample-histogram-of-oriented-gradients-and-car-logo-recognition/#tour_modal

我环顾了matplotlib网站,但尝试找到正确的示例完全没有运气。 ¿有人知道如何绘制它或在哪里可以学习它?

我一直在尝试这种方法,但是没有运气。 https://matplotlib.org/3.1.0/gallery/statistics/histogram_histtypes.html#sphx-glr-gallery-statistics-histogram-histtypes-py

我只需要确定HOG的9个bin中的像素分布和笔划的程度即可。

1 个答案:

答案 0 :(得分:0)

直方图允许我们获得图像各灰度等级的相对频率,在opencv中,我们可以通过以下方式获得直方图:

带垃圾箱:

image = cv2.imread('example.jpg')
imagex = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

plt.hist(imagex.ravel(), bins=8, range=(0,255))
plt.show()

您将获得一个基于垃圾箱的直方图, 但是如果您希望获得图像的所有直方图,请尝试:

image = cv2.imread('myimage.jpeg')
imagex = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
plt.hist(imagex.ravel(),256,[0,256]);
plt.show()

最好的问候!