import cv2 as cv
# 图像基本操作
'''
# cv.IMREAD_COLOR(彩色图像);cv.IMREAD_GRAYSCALE(灰度图像)
img = cv.imread('C:/Users/27706/Desktop/1.jpg', cv.IMREAD_GRAYSCALE) # opencv读取图像为BGR格式
cv.imshow('image', img) # 图像显示,第一个变量为窗口名称
cv.waitKey(0) # 等待时间,0表示任意键终止
cv.destroyAllWindows() # 关闭所有窗口
cv.imwrite('writre.jpg', img) # 保存图片
'''
# 视频读取和处理显示
'''
vc = cv.VideoCapture(0) # cv.VideoCapture可以捕获摄像头,用数字控制不同设备;如果为视频文件,制定好路径即可
# 检查是否可以正确打开
if vc.isOpened():
open, frame = vc.read() # frame为每帧的图像
else:
open = False
while open:
ret, frame = vc.read()
if frame is None:
break
if ret == True:
gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) # 将图像从一个颜色空间转换到另一个颜色空间的转换
cv.imshow('result', gray)
if cv.waitKey(10) & 0xFF == 27:
break
vc.release() # 停止捕获视频
cv.destroyAllWindows()
'''
# 颜色通道
'''
b, g, r = cv.split(img) # 颜色通道提取
img = cv.merge((b, g, r)) # 颜色通道结合
'''
# 边界填充
'''
top_size, bottom_size, left_size, right_size = (50, 50, 50, 50) #
constant = cv.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, cv.BORDER_CONSTANT, value=0) # 常数填充外展边界
'''
# 图像融合
'''
img_1 = cv.resize(img_1, (500, 400)) # 缩放操作,(w, h),但img_1.shape表现出的为(h, w, 3)
img_2 = cv.resize(img_2, (0, 0), fx=3, fy=1) # 不指定缩放具体数值,按照w、h的倍数进行变换
img = cv.addWeighted(img_2, 0.3, img_1, 0.7, 0) # 图像按权重相加,最后一个参数为偏置项
'''
opencv基础教程(唐宇迪)--01
最新推荐文章于 2023-03-30 15:12:42 发布