**
Opencv 学习笔记.1
**笔记是个好东西~记着记着就发现问题了/捂脸(顺便也磨磨性子外加练习用键盘啦)
import cv2 as cv
src = cv.imread("D:/sourses/picture/001.jpg")
cv.namedWindow("image",cv.WINDOW_AUTOSIZE)
cv.imshow("image",src)
cv.waitKey(0)
cv.destroyAllWindows()
-
图片名 = cv2.imread("<图片地址>",x)
读取图片 BGR模式x>0 删除alpha通道信息(透明度)
x=1=cv2.IMREAD_COLOR=参数省略--------彩色
x=0=cv2.GRAYSCALE-------灰度图像
x<0返回带alph通道的原图
图片地址在电脑中表示包含\,调用函数时不能直接粘贴,需改为/或再加一个\,否则报错 -
cv2.namedWindow(<窗口名>,x)
打开一个窗口并命名x=cv2.WINDOW_AUTOSIZE-----默认大小,不能改动
x=cv2.WINDOW_NORMAL
或cv2.WINDOW_FREERATIO1-----可以改动窗口大小
-
cv2.imshow(<窗口名>,读取到的图像变量名)
打开图片并命名窗口
窗口自动调整为图像大小 -
cv2.waitKey(x) 键盘绑定函数
时间尺度为毫秒级,在特定的几毫秒内等待键盘输入 -
cv2.destroyAllWindows()
关闭全部窗口 -
cv.destroyWindow(<>)
关闭特定窗口import cv2 as cv import numpy as np def video(): capture=cv.VideoCapture(0) while(True): retu,frame = capture.read() frame=cv.flip(frame,1) cv.imshow("vid",frame) c=cv.waitKey(50) if c==27: break def get_image_info(image): print(type(image)) print(image.shape) print(image.size) print(image.dtype) pix=np.array(image) print(pix) print("---------Hello Python---------") src = cv.imread("D:/sourses/picture/001.jpg",cv.IMREAD_COLOR) cv.namedWindow("input image",cv.WINDOW_AUTOSIZE) gra = cv.cvtColor(src,cv.COLOR_BGR2GRAY) cv.imshow("input image",gra) get_image_info(src) cv.waitKey(0) cv.destroyAllWindows()
-
cv2.VideoCapture(x)
x表示摄像头设备索引号或视频文件2
x为0时表示笔记本内置摄像头
调用时可能不能成功初始化摄像头,此时代码报错
-----检查是否初始化:.isOpened()
返回True时成功,否则需用:.open()
*获取视频参数信息:.get(propId) 其中,propId为0~18间的整数,每一个数代表视频的一个属性,例如:capture.get(3)和capture.get(4)分别用于获取每一帧的宽和高,默认为640和480
*更改视频参数属性:.set(propId,value)
.read()
返回布尔值,若帧读取正确返回True
可用于检查视频文件是否到了结尾
-
cv.flip(frame,1)
左右/水平 镜像翻转
cv.flip(frame,0) 垂直镜像
cv.flip(frame,-1) 对角镜像 -
type(image)
返回图像数据类型,此时返回 <class ‘numpy.ndarray’> -
image.shape
返回图像(高,宽,通道数目) -
image.size
返回图像大小,即高x宽x通道数 -
image.dtype
返回图像字节位数 -
np.array(image)
返回图像所有像素数据
*Esc(ASC2)=27