matplotlib 填充直方图中曲线下方的区域

cvxl0en2  于 2023-01-09  发布在  其他
关注(0)|答案(2)|浏览(172)

我正在使用图像的方法从图像生成直方图,问题是我需要填充该区域,我不能使用函数fill_between,因为我没有“x”和“y”参数,我尝试使用“histr”和“color=col”作为轴,但程序崩溃。

img_histogram=cv2.imread("567.jpg")
   colors = ("r")
   plt.figure()
   plt.title("Histogram")
   plt.xlabel("Bins")
   plt.ylabel("Pixels of the image")
   
   for i,col in enumerate(colors):
        histr = cv2.calcHist([img_histogram],[2],None,[256],[0,256])
        plt.plot(histr,color = col)
        plt.xlim([0,256])

Final histogram generated
我被卡住了,我不知道该尝试什么,正如我之前提到的,我尝试使用histr和“color=col”作为轴来填充_between。
What I want to do

2ledvvac

2ledvvac1#

您可以使用fill_between()方法来执行此操作。

plt.fill_between(np.arange(256), histr)
tvokkenx

tvokkenx2#

感谢大家的帮助,我知道了如何从中提取数据,histr[]是一个包含Y值的数组,所以现在我可以将它用作Y变量,将到[0,256]的数组用作X,感谢大家。

相关问题