Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python/Opencv/Matplotlib并排显示视频和直方图?_Python_Opencv_Numpy_Video_Matplotlib - Fatal编程技术网

如何使用Python/Opencv/Matplotlib并排显示视频和直方图?

如何使用Python/Opencv/Matplotlib并排显示视频和直方图?,python,opencv,numpy,video,matplotlib,Python,Opencv,Numpy,Video,Matplotlib,我正在尝试显示视频,它是您自己的并排直方图,但我的代码无法正常工作,至少在同时: import cv2 from skimage.io import imread import numpy as np import scipy.misc import matplotlib.pyplot as plt cap = cv2.VideoCapture('video.mp4') count = 0 while(cap.isOpened()): ret, frame = cap.read()

我正在尝试显示视频,它是您自己的并排直方图,但我的代码无法正常工作,至少在同时:

import cv2
from skimage.io import imread
import numpy as np
import scipy.misc

import matplotlib.pyplot as plt

cap = cv2.VideoCapture('video.mp4') 
count = 0
while(cap.isOpened()):
    ret, frame = cap.read()
    count +=1  

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) 
    gray =  scipy.misc.imresize(gray, 0.45) 

    hist = cv2.calcHist([gray],[0],None,[256],[0,256])

    cv2.imshow('Gray', gray)
    cv2.waitKey(5)
    plt.title("Histogram")

    plt.plot(hist)
    plt.show()

cap.release()
cv2.destroyAllWindows()

我该怎么做?我接受任何建议。。。我的目标是显示两个窗口(一个播放视频,另一个打印直方图),或者只显示一个并排显示视频和直方图的窗口,可能是使用numpy.hstack。

使用
matplotlib.pyplot.imshow
,并并排显示两个图形(请参阅matplotlib文档了解如何操作)。|或者,您可以让matplotlib渲染成一个图像,然后将所有内容组合成一个大画布图像。。。但这有点复杂。你可以看看这个问题:不显示两个视频流,而是在其中一个子图中显示直方图。使用
matplotlib.pyplot.imshow
显示,并并排显示两个数字(请参阅matplotlib文档了解如何操作)。|或者,您可以让matplotlib渲染成一个图像,然后将所有内容组合成一个大画布图像。。。但这有点复杂。你可以看看这个问题:你不需要显示两个视频流,而是在其中一个子图中显示直方图。