标签:调用 ffmpeg img -- day01 cv2 opencv print
1、入门概念:
计算机图形学:如何通过model渲染出图片即图形学
计算机视觉:如何从图片中理解出里面的内容最终形成model,即计算机视觉
2、ffmpeg调用opencv的过程:api的上层是opencv,下层是ffmpeg。对于ffmpeg来说,要调用opencv主要是在filter中进行调用,通过采集模块获取的原始视频帧,通过filter调取opencv进行图像的处理,处理之后进行图像的编码,反之,解码之后拿到视频帧,通过filter调用opencv进行处理,之后再进行视频的渲染
3、opencv调用ffmpeg的过程:opencv调用ffmpeg主要是对于多媒体文件的处理,opencv在处理时需要数据源是原始的视频帧,例如rgb数据、yuv数据。但是对于用户来说,一般用户能给的都是jpg或者png或者视频,opencv显然无法将这些数据进行处理,所以需要调用ffmpeg的解码模块,对这些编码后的图像或者视频进行解码,拿到rgb数据或者yuv数据之后再进行相应的处理
4、安装:需要安装python numpy matplotlib opencv_python
其中numpy主要是用于矩阵的操作,numpy和opencv_python的结合会使得用python操作opencv时速度快
matplotlib主要用于显示
5、创建窗口
namedWindow()
6、显示窗口
imshow()
7、销毁窗口
destroyAllWindows()
8、设定窗口大小。如果不设定默认是图片大小(图片适应窗口大小/窗口适应图片大小)
resizeWindow()
9、加载图片
imread(path,flag)
10、保存图片
imwrite(name,img)
name是要保存的文件名,img是Mat类型
import cv2
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
img = cv2.imread('/Users/lililiee/Desktop/WechatIMG6.jpeg')
#展示图片之后,按q键退出,按s键保存图片,按其他键打印333
while True:
cv2.imshow('img',img)
key = cv2.waitKey(0)
print(key) #是对键盘事件进行delay(ms)的等待(delay=0则为无限等待),若触发则返回该按键的ASSIC码(否则返回-1)
print('q')
print(ord('q'))
if key & 0xFF == ord('q'):
print(111)
break
elif key & 0xFF == ord('s'):
print(222)
cv2.imwrite('/Users/lililiee/Desktop/123.png',img) #将图片保存为123.png
else:
print(333)
cv2.destroyAllWindows()
标签:调用,ffmpeg,img,--,day01,cv2,opencv,print 来源: https://www.cnblogs.com/lililiee/p/15872452.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。