我经常使用谷歌的Vision OCR,它真的非常准确。我想知道我是否可以对视频文件或视频流进行OCR。比方说,我有一些监控视频,我想获取整个视频中的所有文本。在Google的视频智能API中,我只能获取标签,我猜这是使用Google Vision的标签检测API。我认为在视频的每一帧上OCR可能都会有挑战,但仍然想尝试开始讨论如何做到这一点。可能没有完美的解决方案,但即使我们得到50%,也总比什么都没有好。
发布于 2017-12-11 18:41:23
下面是我所做的:
请访问此网站并下载此免费视频示例:https://www.videvo.net/video/people-walking-past-the-911-memorial-sign-in-new-york/5283/
a.转到tools -> preferences。在左下角,单击单选按钮“All”。
b.单击左侧的视频类别以将其展开。在“过滤器”中再次单击以将其展开。
c.选择“scene filter”并选择设置(见下图)。

d.点击滤镜类别并选中“场景视频滤镜”复选框(见下图)

e.点击右下角的‘保存’后,打开您下载的视频并播放。图像将自动保存。
更多细节here。
接口的示例
发布于 2018-03-12 17:37:49
以下是使用Google Cloud Vision API制作视频的FFmpeg + Python方法:
frames_path目录中:导入os导入子流程def extract_frames_from_video(video_path,frames_path):subprocess.call("ffmpeg -r 1 -i {video_path} -r 1 {out_path}".format( video_path=video_path,out_path=os.path.join(frames_path,"frame_%06d.png")),导入提取帧的视觉接口。
如果您希望突出显示图像中的检测,然后根据处理后的帧重建视频,可以使用以下方法:
def convert_frames_to_video(frames_path,output_video_path,fps):subprocess.call( "ffmpeg -r {frame_rate} -f image2“"-i {frames_path} -vcodec libx264 -crf {quality} -pix_fmt yuv420p”"{out_path}".format( frame_rate=fps,frames_path=os.path.join(,“”)),shell=True)
def add_sound_from_video_to_video(sound_video_path,soundless_video_path,output_video_path):subprocess.call(“video_path_without_audio=soundless_video_path,”"-i {video_path_without_audio}“"-i {video_path_with_audio}”"-c copy -map 0:0 -map 1:1 -shortest {output_video_path}“.formatvideo_path_with_audio=sound_video_path,output_video_path=output_video_path),shell=True)
Here是我为人脸检测编程的整个管道。
发布于 2019-04-07 07:42:58
目前,Google Cloud Video Intelligence API为视频提供了OCR。它聚合了来自多个帧的检测,与单帧OCR检测相比,提供了更一致的结果。您可以在https://cloud.google.com/video-intelligence/docs/text-detection中检查该功能。
https://stackoverflow.com/questions/47749413
复制相似问题