python+opencv调用摄像头视频图像处理

系统 1650 0

在做深度学习的时候,难免会用到摄像头采集图像。在这个就会用到python调用摄像头+opencv图像处理。视频图像的处理和单幅图片处理是一样的,视频就是很多单幅图像连续播放。每秒播放(采集)的图片数量叫帧率。

            
              import cv2
#########图像读取部分
cap=cv2.VideoCapture('2.wmv') #调用目录下的视频
#cap=cv2.VideoCapture(0)  #调用摄像头‘0’一般是打开电脑自带摄像头,‘1’是打开外部摄像头(只有一个摄像头的情况)
width=1280
height=960
cap.set(cv2.CAP_PROP_FRAME_WIDTH,width)#设置图像宽度
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,height)#设置图像高度
#显示图像
while True: 
    ret,frame=cap.read()#读取图像(frame就是读取的视频帧,对frame处理就是对整个视频的处理)
    print(ret)#
    #######例如将图像灰度化处理,
    img=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)#转灰度图
    cv2.imshow("img",img)
    ########图像不处理的情况
    cv2.imshow("frame",frame)    

    input=cv2.waitKey(20)
    if input==ord('q'):#如过输入的是q就break,结束图像显示,鼠标点击视频画面输入字符
        break
    
cap.release()#释放摄像头
cv2.destroyAllWindows()#销毁窗口
   

 
###########图像处理部分
img=cv2.imread("1.jpg",cv2.IMREAD_COLOR)#读入图片,后面的参数是怎么读取图片一般有灰度,全彩等
#img=cv.imread('E:\pytest\1.png')  #或者直接读取该路径下的图片
#cv2.imshow("src",img[:,:,0])

px=img[0,0,2]#img 第一个参数,第二个参数是像素坐标;第三个坐标是rgb三通道。取值(0,1,2)
print(px)
img[100,100]=(0,0,0)#更改指定坐标的像素

#con=img[0:200,0:200]#扣矩形区域的图
img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#转灰度图
blur=cv2.GaussianBlur(img,(5,5),0)#高斯滤波
ret3,th3=cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)#二值化
#cv2.imshow("gaussianblur",th3)
#cv2.imshow("sec",img)
#cv2.imwrite("1-1.jpg",255-img)

cv2.waitKey(0) 

            
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论