编程对于我的理解来说,就是人与机器的互动,人用机器明白的语言操纵机器,让机器按照人的想法来工作,达到人想要的效果。
提到编程,那么对于“封装”一词我想大家并不陌生,那么要说什么是封装,其实就是把执行特殊功能的指令打包成程序块,再给这个程序块取一个好查询的名字,方便查询调用。我觉得有一个比喻就很恰当,如果说你要点一个菜“鱼香肉丝”,那么你只会说菜名,你不会告诉厨师应该如何做、如何调味。复用代码的关键就在于封装。其实python也正是因为其优秀的封装,才得到广泛的使用。python的程序文件以.py为后缀,他可以用任何文本编辑器来创建和编写。
OpenCV是一个开源发行的跨平台计算机视觉和机器学习软件库,可以运行在linux、Windows、Android和MAC OS操作系统上。它轻量级而且高效——由C++语言编写,同时提供了Python、java、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV自发布起便得到广泛应用,其中包括在安保以及工业检测系统,网络产品以及科研工作,医学、卫星和网络地图(例如,医学图像的降噪,街景图像或者航空图像的拼接及其扫描校准等),汽车自动驾驶,相机校正等。此外,OpenCV还被应用到处理声音的频谱图像上,进而实现对声音的识别。
下面我们来了解几个关于python opencv的语法函数。
读取图像
image = cv2.imread(filename, [flags])
image:返回的是读取到的图像。
filename:要读取的图像的完整文件名。
flags:读取图片的方式,可选项。
图像显示
cv2.imshow(name, image)
imshow()方法无返回值
name:显示图像的窗口名称。
image:要显示的图像。
等待用户按下键盘上按键的时间
ret = cv2.waitKey(value)
ret:与被按下的按键对应的ASCII码。例如,Esc键的ASCII码是27,当用户按Esc键时,waitKey()方法的返回值是27。如果没有按键被按下,waitKey()方法的返回值是-1。
value:等待用户按下键盘上按键的时间,单位为毫秒(ms)。当value的值为负数、0或者空时,表示无限等待用户按下 键盘上按键的时间。
销毁所有正在显示图像的窗口
cv2.destroyAllWindows()
destroyAllWindows()方法无任何参数和返回值
保存图像
cv2.imwrite(filename, image)
filename:保存图像时所用的完整路径。
image:要保存的图像。
色彩空间转换cvtColor()方法
image = cv2.cvtColor(src, code)
image:转换后的图像。
src:转换前的初始图像。
code:色彩空间转换码
构造方法VideoCapture(),用于完成视频资源的初始化工作
capture = cv2.VideoCapture(value)
capture:要打开的摄像头。
value:摄像头的设备索引或打开视频的文件名(.avi文件)