OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,最近在研究这个方向,就准备搞一下它。
首先下载opencv库,直接使用pip install opencv-python在命令提示符中,但是主要一定要提前下载numpy库,安装成功后即可使用。
现在来试一下,用的是pycharm:
一,图像读取显示
import cv2
import matplotlib.pyplot as plt
import numpy as np
img=cv2.imread('D:/timg.jpg')
print(img)
#图像的显示,也可以创建多个窗口
cv2.imshow('image',img)
# 等待时间,毫秒级,0表示任意键终止
cv2.waitKey(0)
cv2.destroyAllWindows()
显示
二,灰度处理
cv2.IMREAD_COLOR:彩色图像
cv2.IMREAD_GRAYSCALE:灰度图像
img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)
print(img)
#图像的显示,也可以创建多个窗口
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
此时显示灰度图
三,视频显示
视频其实是由一帧一帧的图像构成,其打开原理就是读取每一帧的图像
cv2.VideoCapture可以捕获摄像头,用数字来控制不同的设备,例如0,1。
vc = cv2.VideoCapture('test.mp4')
if vc.isOpened():
oepn, frame = vc.read()
else:
open = False
while 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()
先简单介绍这些,总结一下opencv操作,主要是对像素点的操作,像素取值为0—255,每个像素点都有3个值表示 ,所以就是3通道。也有4通道的图。例如RGB图片即为三通道图片,RGB色彩模式是工业界的一种颜色标准,是通过对红®、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,总之,每一个点由三个值表示。
但我们进行灰度处理之后的图像为单通道图像所有两次输出的像素值不同。