【树莓派】USB摄像头+python+opencv |
您所在的位置:网站首页 › 树莓派opencv摄像头 › 【树莓派】USB摄像头+python+opencv |
一、接入USB摄像头
插入usb摄像头,在命令行模式下输入 lsusb 如果看到列举出来的信息有camera的话就说明识别成功,可以使用。 二、测试摄像头1、拍照测试 安装fswebcam sudo apt-get install fswebcam输入以下命令,开启摄像头 fswebcam --no-banner -r 640x480 image3.jpg2、录像测试 安装luvcview sudo apt-get install luvcview输入以下命令,开启摄像头 luvcview -s 640x480 三、安装python2 sudo apt-get install python如果发现安装的是python3的话就需要把python改为python2 四、安装OpenCV分别运行以下两条命令即可~ sudo apt-get install libopencv-dev sudo apt-get install python-opencv在命令行模式下输入命令,测试是否安装成功(如果提示不存在python这个命令,说明可能同时存在python2和3的环境,需要特指python2) python import cv2 cv2.__version__若正常出现下图所示的版本号,则表示安装成功! 最后退出python环境,可以输入exit(),或者直接快捷键ctrl+D 五、拍照存储功能代码其中的图像预处理部分根据需要改。 import cv2 import numpy as np name = 0 cap = cv2.VideoCapture(0) cap.set(3,640) cap.set(4,480) ret, frame = cap.read() rows, cols, channels = frame.shape print(cols, rows, channels) # 图像预处理 def img_p(img): # 灰度化 gray_img = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 平滑滤波 blur = cv2.blur(gray_img, (3,3)) # 二值化 ret1, th1 = cv2.threshold(blur, 190, 255, cv2.THRESH_BINARY) # 透视变换 b = 50 pts1 = np.float32([[b, 0], [cols-b, 0], [0, rows], [cols, rows]]) pts2 = np.float32([[0, 0], [cols, 0], [0, rows], [cols, rows]]) M = cv2.getPerspectiveTransform(pts1, pts2) dst = cv2.warpPerspective(blur, M, (cols, rows)) return dst while(1): ret,frame = cap.read() dst = img_p(frame) cv2.imshow('usb camera', dst) k = cv2.waitKey(1) if (k == ord('q')): break elif(k == ord('s')): #name = input('name:') name += 1 #filename = r'./camera/' + str(name) + '.jpg' filename = str(name) + '.jpg' cv2.imwrite(filename, dst) print(filename) #break cap.release() cv2.destroyAllWindows()然后终端执行python 文件名.py,即可看到出来画面了 (如果提示不存在python这个命令,说明可能同时存在python2和3的环境,需要特指python2)
注:在终端执行python 文件名.py后若出现以下错误 让USB CAMERA界面在前端,按s保存图片,q退出程序。 OK了。 六、报错:python Non-ASCII character '\xe5' in file 在脚本最开头加上 # coding=UTF-8 就搞定了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |