这个学习笔记是结合 贾志刚老师的视屏 和 官方的opencv书籍 来的
安装的教程,csdn都很多,就不在说了,值得一提的是如果是在官网安装可能很慢,建议用镜像安装
在cmd输入 : pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python ,可以解决速度过慢问题,opencv 使用国内源安装
不多说直接进入主题
基于Python所以很多都是调用API的,所以也比较容易上手(不会打击信心)
- 读取图片
读入,显示,存储 一副图像
有三个基本的函数 cv2.imread(), cv2.imshow(), cv2.imwrite()
import numpy as np
import cv2
img = cv2.imread("E:/python/cv.jpg",0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite('E:/python/cv11.jpg',img)
cv.imread第一个参数是图片路径,第二的是读取图片以什么函数读取这幅图片
cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一
个参数是窗口的名字,其次才是我们的图像(对象)。
cv2.waitKey() 是一个键盘绑定函数,如果没有图像会一闪就过去了,有了这个函数,等待键盘输入,如果按下任意键,这个函数会返回按键的 ASCII 码值,程序将会继续运行。如果没有键盘输入,返回值为 -1,如果我们设置这个函数的参数为 0,那它将会无限期的等待键盘输入。
cv2.imwrite() 来保存一个图像。首先需要一个文件名,之后才
是你要保存的图像。
2.读取视频
用到的函数
cv2.VideoCapture() cv2.VideoWrite()
cap.read() 返回一个布尔值( True/False)。如果帧读取的是正确的,就是 True。所以最后你可以通过检查他的返回值来查看视频文件是否已经到
了结尾。
# -*- coding: utf-8 -*-
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame 一帧一帧的读取
ret, frame = cap.read()
# Our operations on the frame come here
# gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
#键盘输入q结束读取视频
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
以上代码是调用电脑的摄像头