**
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
- ratio n.比例,比率,系数;vt.求出比值,除,使…成比例,将(相片)按比例放缩 ↩︎
- 从文件中播放视频:将设备索引号改为视频文件的名字,播放每一帧时使用 cv2.waitKey() 设置适当持续时间,设置越高播放越慢,通常25毫秒 ↩︎