常用的opencv代码解释
基于pycharm开发环境,anaconda的opencv模块,实际程序案例讲解
整体代码效果
调取本地图片,并在窗口显示
import cv2 as cv
src = cv.imread('kkk.jpg')
cv.namedWindow('input_image',cv.WINDOW_AUTOSIZE)
cv.imshow('input_image',src)
cv.waitKey(0)
cv.destroyAllWindows()
代码效果图
左侧为工程目录,图片已存放在工程目录内。若无存放,需要调用图片绝对地址。
代码的根本
在python用import或者from…import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这类似于C语言中的include头文件。
import cv2 as cv
#导入模块cv2,并定义别名cv
提示
import,import as,form import等语句的根本是导入模块和包
模块(Module)是一个可以导入的Python 脚本文件
包(Package)是为了避免模块名冲突,Python又引入了按目录来组织模块的方法。
代码的主体
1.读取图片
src = cv.imread('kkk.jpg')
#cv2.imread(filepath,flags)读入一副图片
# filepath:要读入图片的完整路径
# flags:读入图片的标志
# cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
# cv2.IMREAD_GRAYSCALE:读入灰度图片
# cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
2.创建窗口
cv.namedWindow('input_image',cv.WINDOW_AUTOSIZE)
#cv2.namedWindow('winname',WINDOW_AUTOSIZE)新建一个显示窗口。可以指定窗口的类型
# winname:新建的窗口的名称,自取。
# WINDOW_AUTOSIZE:窗口的标识,一般默认为WINDOW_AUTOSIZE 。
# WINDOW_AUTOSIZE 窗口大小自动适应图片大小,并且不可手动更改。
# WINDOW_NORMAL 用户可以改变这个窗口大小
# WINDOW_OPENGL 窗口创建的时候会支持OpenGL
3.显示图片
cv.imshow('input_image',src)
# cv2.imshow('wname',img)显示图像,
# wname:显示图像的窗口的名字
# img:显示的图像(imread读入的图像),窗口大小自动调整为图片大小。
4.保持窗口
cv.waitKey(0)
#cv2.waitKey(ms)等待键盘输入,即等待指定的毫秒数看是否有键盘输入。
# 若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。
# 若没有按下任何键,超时后返回-1。
# 参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片。
5.销毁窗口
cv.destroyAllWindows()
#cv2.destroyAllWindow()销毁所有窗口
#cv2.destroyWindow(wname)销毁指定窗口
杂记
本人现在正在进行毕业设计,使用远程摄像头进行人脸识别,有兴趣交流的朋友可以联系我的QQ:942657784@qq.com
涉及方面:pycharm anaconda python QT opencv MySQL WiFi摄像头 人脸识别 深度学习 算法