一、环境初始化
1.导入opencv包
pip install opencv-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
大多数的情况下,是可以的安装成功CV2,可是有时,这个指令安装的pip会出现CV2版本与python安装的版本,不匹配导致,你安装的opencv不成功,由于国外的网路问题,可以加入 -i 指定国内源
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
注:如果显示pip版本不是最新版本,需要更新pip版本
python -m pip install --upgrade pip
2.引用opencv包
import cv2 # opencv读取的格式是BGR
import matplotlib
# 切换为图形界面显示的终端TkAgg
matplotlib.use('TkAgg')
# 导入matplotlib的pyplot
import matplotlib.pyplot as plt
import numpy as np
二、使用opencv
1.读取图片
opencv读取图片,通过.shape输出图片信息长,宽以及RGB信息
img = cv2.imread('image/car.jpg') #输入图片的路径
print(img.shape) # 得到了h、w、c的值,而c的意义是当前读取的是一个RGB的类型
(1)读取并且显示图片
输入name是图片名称,img是图片路径
# 读取并且显示图片
def image_show(name, img):
cv2.imshow(name, img)
# 单位为毫秒,0则代表任意键中止
cv2.waitKey(0)
cv2.destroyAllWindows()
(2)设置灰度图片并且保存
输入name是图片名称,img是图片路径
# 读取灰度图片
def cv_show(name=None, img=None):
# img = cv2.imread('image/car.jpg', cv2.IMREAD_GRAYSCALE)
image_show(name, img)
# 保存图像
cv2.imwrite('mycat.png', img)
2.读取视频
# 视频读取
def vedio_show(vedio_path):
vc = cv2.VideoCapture(vedio_path)
if vc.isOpened():
# 这边输出两个变量,一个是是否读取成功的变量is_open,还有一个是读取内容
is_open, frame = vc.read()
else:
is_open = False
while is_open:
ret, frame = vc.read()
if frame is None:
break
if ret == True:
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('result', gray)
if cv2.waitKey(100) & 0xFF == 27:
break
vc.release()
cv2.destroyAllWindows()