我想使用tensorflow MobileNet(https://www.tensorflow.org/hub/tutorials/image_retraining#training)来检测视频中的那个对象。我尝试了多种方法将videocapture opencv中的视频帧放入tensorflow图像,但是我仍然无法运行它。我们如何在张量流的视频中检测到该物体?
这是检测图像中该对象类别的方法
python label_image.py \
--graph=/tmp/output_graph.pb --labels=/tmp/output_labels.txt \
--input_layer=Placeholder \
--output_layer=final_result \
--input_height=224 --input_width=224 \
--image=$HOME/flower_photos/daisy/21652746_cc379e0eea_m.jpg
我想将其应用于类似视频
while(cap.isOpened()):
ret, frame = cap.read()
if ret:
label_image --graph=../tf_files/retrained_graph.pb --image=frame
但是我无法将opencv视频帧放入tensorflow函数
答案 0 :(得分:0)
您可以使用电影:
以与视频类似的方法从视频中提取帧:from moviepy.editor import VideoFileClip
clip = VideoFileClip(video_file)
video_duration = clip.duration
intervals = range(3, int(video_duration), 3) #suposing you want a frame every 3 seconds of the video
for t in intervals:
clip_file = "frame_num_%d.png"%t
clip.save_frame(clip_file, t)
让我知道这是否有助于您澄清问题。