Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.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 TensorFlow视频帧与静态图像_Python_Tensorflow_Image Processing_Png_Video Processing - Fatal编程技术网

Python TensorFlow视频帧与静态图像

Python TensorFlow视频帧与静态图像,python,tensorflow,image-processing,png,video-processing,Python,Tensorflow,Image Processing,Png,Video Processing,我对TensorFlow有一个奇怪的问题,我怀疑它有一个简单的解决方案 我正在处理视频数据。为了创建训练数据,我使用ffmpeg将视频帧提取到PNG文件,然后使用LabelImg创建边界框数据集。经过训练的网络在这些PNG文件上运行得非常好 但是,如果我使用OpenCV打开一个视频,并将视频中的帧馈送到网络,那么它根本不起作用。我使用OpenCV VideoCapture类,如: video = cv2.VideoCapture(path_to_video) status, frame = vi

我对TensorFlow有一个奇怪的问题,我怀疑它有一个简单的解决方案

我正在处理视频数据。为了创建训练数据,我使用
ffmpeg
将视频帧提取到PNG文件,然后使用LabelImg创建边界框数据集。经过训练的网络在这些PNG文件上运行得非常好

但是,如果我使用OpenCV打开一个视频,并将视频中的帧馈送到网络,那么它根本不起作用。我使用OpenCV VideoCapture类,如:

video = cv2.VideoCapture(path_to_video)
status, frame = video.read()
output_dict = run_inference_for_single_image(frame, detection_graph)
请注意,
run\u interference\u for_single\u image
是TensorFlow库提供的一个函数,用于在打开并转换为numpy数组的PNG文件上运行检测

我得到了一些检测结果,但准确度几乎降到了零。相反,如果我将同一帧保存为PNG文件并将该文件馈送到网络中,它将按预期工作


为了避免将视频帧保存为PNG文件的步骤,我需要做哪些更改?

OpenCV具有加载彩色图像的奇怪行为。你可以用

im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)

将其转换为RGB,然后再将其送入网络。

太棒了!非常感谢。调用应为cv2.CVT颜色(大写字母“C”)。