一、图片显示
1、img = cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE) 或者 img = cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE,0) # 读取灰度图片
2、img = cv2.imread('cat.jpg',cv2.cv2.IMREAD_COLOR) 或者 img = cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE) # 读取彩色图片
3、cv2.imshow(name,img) # 显示图片
4、cv2.waitKey(1000) # 设置等待时间,0表示任意终止,时间为毫秒
5、cv2.destroyAllWindows() # 创建windows窗口显示
6、img.shape # 图像的大小,灰度图:(100,100),彩色图:(100,100,3)
7、img.size # 像素点大小
8、img.dtype # 图片数值类型(uint8)
9、img[50:200,100:400] # 截取图片区域
10、b,g,r =cv2.split(img) # 提取BGR颜色通道值
11、cv2.merge((b,g,r)) # 还原颜色通道
12、img.copy() # 图片的复制
13、cur_img[:,:,0] = 0 # 将R颜色通道的数值置为0
二、视频显示
1、vc = cv2.VideoCapture('test.mp4') # 读取视频
2、vc.isOpened() # 检查视频是否可以打开,打开为True
3、vc..release() # 视频结束播放
4、open, frame = vc.read() # 视频读取 open为布尔类型,frame为视频每一帧图片
5、cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) # 将视频每一帧置为灰度
三、图片边界填充
1、top_size,bottom_size,left_size,right_size= (500,0,500,500) # 指定上下左右的填充大小
2、cv2.copyMakeBorder(img,top=top_size, bottom=bottom_size, left=left_size, right=right_size,borderType=cv2.BORDER_REPLICATE) # 最边缘填充
3、cv2.copyMakeBorder(img, top=top_size, bottom=bottom_size, left=left_size, right=right_size,borderType=cv2.BORDER_REFLECT) # 反射填充 abc|ba
4、 cv2.copyMakeBorder(img, top=top_size, bottom=bottom_size, left=left_size, right=right_size, borderType=cv2.BORDER_REFLECT_101) # 反射填充 abc|ba
5、cv2.copyMakeBorder(img, top=top_size, bottom=bottom_size, left=left_size, right=right_size,borderType=cv2.BORDER_WRAP) # 外包装法 cde|abcde|abcde
6、cv2.copyMakeBorder(img, top=top_size, bottom=bottom_size, left=left_size, right=right_size,borderType=cv2.BORDER_CONSTANT) # 常值填充
四、图片数值变换
1、cv2.resize(img,(500,414)) # 变换图片的尺寸,或者倍数
2、cv2.add(img,img) # 图片相加
3、cv2.addWeighted(img0,0.8,img,0.5,0) # 图片融合 ,最后一个0代表亮度集微调
五、图片阈值与平滑处理
1、阈值处理
# ret ,dst = v2.threshold(img,thresh,maxval,type)
# ret = hresh,dst 为输出图,thresh 为阈值,maxval 为当像素超过或者小于阈值时是赋予的值,type 为操作类型
ret ,dst = cv2.threshold(img,127,255,cv2.THRESH_BINARY)
# cv2.THRESH_BINARY 超过阈值取maxval,否则取0
ret, dst = cv2.threshold(img,