import cv2
================调用摄像头================
def video_demo():
cap = cv2.VideoCapture(0)#只有一个摄像头默认为0
while (True):
ref, frame = cap.read()#ref为true,false,是否获取到图像。frame为获取到的图像
if ref==1:
cv2.imshow("1", frame)
else:
print("error")
break
cv2.waitKey(0)#waitkey()看做刷新,参数ms后下一帧
video_demo()
cv2.destroyAllWindows()
================基本函数用法================
im=cv2.imread('PATH',0/1)#0灰度图像,1彩色,默认彩色
im=cv2.resize(im,(810,540))//调整图片大小
或im = cv2.resize(src, None, fx=0.5, fy=0.5)
cv2.imshow('winname',im)#显示图片,必须带名字??
cv2.waitKey(0)//不然显示闪过,调用摄像头时循环里加waitkey(30),每30ms刷新一帧
cv2.destroyAllWindows()#摧毁显示窗口,每次im.show()后都得加
================RGB图形处理================
r, g, b = cv2.split(im)//将im的rgb三个通道分开
im1 = cv2.merge([r, g, b])//将通道为rgb的三个通道融合
================查询参数================
print(im.shape)#返回包含行数、列数、通道数的元祖
print(im.size)#返回总像素数目(行×列×通道数)
================图像加法================
cv2.add(图像1,图像2)//(1)当像素值 <= 255时,结果为“图像1+图像2”,例如:120+48=168。当像素值 > 255时,结果为255,例如:(255+64) = 255
//参与运算的图像大小和类型必须一致。
================图像融合================
dst = cv2.addWeighter(scr1, alpha, src2, beta, gamma)
图像融合:目标图像 = 图像1 系数1 + 图像2 系数2 + 亮度调节量
================图像类型转换================
result = cv2.cvtColor(图像, 参数)
其中,参数有以下三种:
1) cv2.COLOR_BGR2GRAY
2) cv2.COLOR_BGR2RGB
3) cv2.COLOR_GRAY2BGR
================边缘检测================
edges = cv2.Canny(image, threshold1, threshold2)
image: 原始图像
threshold1: 阈值1 minVal
threshold2: 阈值2 maxVal
================视频边缘检测================
def game():
cap=cv2.VideoCapture(0,cv2.CAP_DSHOW)//不加cap有警告,不过无伤大雅
while(True):
ref, frame = cap.read()
res=cv2.Canny(frame,64,428)//参数可随意改,越小越细节## 标题
cv2.imshow('1', res)
c=cv2.waitKey(30)
if c==27:
break
自学了一天opencv,挑了点基础的先记在这
最新推荐文章于 2024-08-09 10:08:09 发布
本文介绍了如何使用OpenCV进行摄像头视频捕捉、基本图像读取与操作、RGB通道处理、参数查询、图像算术运算、融合及类型转换,以及边缘检测和视频处理的技术。通过实例演示了Canny边缘检测在实时视频中的应用。
摘要由CSDN通过智能技术生成