2016年被称为人工智能的元年。随着AlphaGo战胜李世石,人工只能再一次站在时代的风口浪尖。但是人工智能觉不仅限于AlphaGo打败李世石这样一个应用,在智慧安防,智慧交通,智慧医疗,智慧语音等等无不渗透着人工智能的身影。2017年,人工智能已经上升到国家战略层面。2017年11月15日,《新一代人工智能发展规划》暨重大科技项目在京启动,会上公布了首批共四家国家人工智能开放创新平台名单:依托百度公司建设自动驾驶国家新一代人工智能开放创新平台;依托阿里云公司建设城市大脑国家新一代人工智能开放创新平; 依托腾讯公司建设医疗影像国家新一代人工智能开放创新平台; 依托科大讯飞建设智能语音国家新一代人工智能开放创新平台等。
目前个人了解的在人工智能领域具有比较领先地位的公司也就那么几个,除了BAT。我觉得,科大讯飞,旷视科技(Face++),格灵深瞳,商汤科技,小I机器人,思比驰,云知声,图灵机器人等基于计算机语音和计算机视觉的公司。所以想在过年这几天,系统的看下图像处理的知识。见天看了点OpenCV的东西。
1、在Anaconda上安装OpenCV。环境Python3.6,直接用pip install cv2提示版本问题。
Collecting cv2
Could not find a version that satisfies the requirement cv2 (from versions: )
No matching distribution found for cv2
于是找了一个专门用于安装Anaconda库的网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/下载
- opencv_python‑3.4.0‑cp36‑cp36m‑win32.whl,然后放到site-packages,按住shift点击右键,打开命令行窗口,输入命令pip install opencv_python-
- .....。准备工作完毕。
3、显示图像cv2.imshow('windowname', img)# 第一个参数是窗口名,第二个是图像。
4、对于图像处理,一般不要用循环来处理数组,效率低下,一般会用索引,矩阵操作来对图像进行处理。图像的基本信息;
img.shape:(width,height,channel)宽,高,通道数,img.size:像素大小,img.dtype:类型,通常为一个无符号的整数类型的变量和该类型占的位数。如:uint8。
5、视频文件的读写。VideoCapture, VideoWriter
(1):创建对象videCapture = cv2.VideoCapture('asd.avi')
(2):fps = videoCapture.get(cv2.CAP_PROP_FPS)
size = (int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)), int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT)))
(3):videoWriter = cv2.VideoWriter('asd.flv', cv2.VideoWriter_fourcc('F','L','V','1'), fps, size)
success, frame = videoCapture.read()
while success:
videoWriter.write(frame)
success, frame = videoCapture.read()