OpenCV这么简单为啥不学——2.1、imwrite逐帧保存图片
目录
OpenCV这么简单为啥不学——2.1、imwrite逐帧保存图片
前言
imwrite函数
语法说明
参数说明
保存图片
查阅图片
解决中文问题
前言
计算机视觉市场巨大而且持续增长,且这方面没有标准API,如今的计算机视觉软件大概有以下三种:
1、研究代码(慢,不稳定,独立并与其他库不兼容)
2、耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)
3、依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)这是如今的现状,而标准的API将简化计算机视觉程序和解决方案的开发,OpenCV致力于成为这样的标准API。
OpenCV致力于真实世界的实时应用,通过优化的C代码的编写对其执行速度带来了可观的提升,并且可以通过购买Intel的IPP高性能多媒体函数库(Integrated Performance Primitives)得到更快的处理速度。
故而我们选择学习OpenCV,我们来一步步的学习OpenCV。
imwrite函数
这里我们通过cv2.imwrite()函数来保存每一帧的图片。
保存的图片
语法说明
cv2.imwrite(filename,img,params)
参数说明
filename:保存图片文件的名称,可以随机也可以根据帧数来保存。我喜欢通过帧数来保存。
img:需要保存的图片,类型是read读取后的数组类型。
params:这个参数就比较多了,应该列一个表了。
保存图片
查阅图片
我们可以很直接的看出来效果:
解决中文问题
import cv2import numpy as npfilepath = r'800_600.jpg'img = cv2.imdecode(np.fromfile(filepath, dtype=np.uint8), cv2.IMREAD_COLOR)cv2.imencode('.jpg', img)[1].tofile(r'中文名保存.jpg')