【python-opencv3】计算机视觉Learning Notes

it2023-10-10  68

有关imread函数

1.imread函数绝对路径不支持\,但支持// \ /

2.imread函数可选入口参数(可缺省)

IMREAD_ANYCOLOR = 4

IMREAD_ANYDEPTH = 2

IMREAD_COLOR = 1

IMREAD_GRAYSCALE = 0

IMREAD_LOAD_GDAL = 8

IMREAD_UNCHANGED = -1

3.无论采用哪种模式,imread函数都会删除透明度信息(alpha通道)

4.imread函数图片的路径最好选用绝对路径,为了避免不必要的麻烦

有关imwrite函数

1.要求图像为BGR或灰度格式,输出格式要和通道数相匹配,bmp要求每个通道有8位,png允许每个通道有8位或16位

使用np对像素(图片)进行操作

image[0,0] = [255,255,255] # 将BGR图像在[0,0]处的像素转化为白色

2.数组切片操作通道

image[:,:,2] = 0 # 获取行列的全部像素,将BGR图像R通道的颜色值设为0

3.图像区域截取与拷贝

image1 = cv2.imread('D:\\Mr.Zheng\\8.open_cv\\.vscode\\.vscode\\timg.jpg') image2 = cv2.imread('D:\\Mr.Zheng\\8.open_cv\\.vscode\\.vscode\\znj.jpg') copy = image1[0:200,0:200] image2[0:200,0:200] = copy cv2.imshow('ll',image2) cv2.waitKey(3000) # 延时3000ms

对视频进行操作

1.使用笔记本摄像头实时显示

import cv2 clicked = False def onMouse(event,x,y,flags,param): global clicked # 全局变量 if event == cv2.EVENT_LBUTTONUP: # 鼠标左键按下 clicked = True cameraCapture = cv2.VideoCapture(0) # 参数0打开笔记本摄像头,也可以是绝对路径 cv2.namedWindow('mywindow') cv2.setMouseCallback('mywindow',onMouse) # 获取鼠标输入传给omMouse print('show camera feed. click window or press any key to stop') success, frame = cameraCapture.read() # 从摄像头读取一帧数据 while success and cv2.waitKey(1) == -1 and not clicked: # 1ms内键盘没有被按下 cv2.imshow('mywindow',frame) success, frame = cameraCapture.read() cv2.destroyWindow('mywindow') cameraCapture.release()
最新回复(0)