插入usb摄像头,在命令行模式下输入 lsusb
如果看到列举出来的信息有camera的话就说明识别成功,可以使用。
安装fswebcam
sudo apt-get install fswebcam
输入以下命令,开启摄像头
fswebcam --no-banner -r 640x480 image3.jpg
安装luvcview
sudo apt-get install luvcview
输入以下命令,开启摄像头
luvcview -s 640x480
sudo apt-get install python
如果发现安装的是python3的话就需要把python改为python2
分别运行以下两条命令即可~
- 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后若出现以下错误
或者是关于connection timeout 的错误,换一下摄像头usb的口,树莓派那四个口都试过来,会有可以用的。
让USB CAMERA界面在前端,按s保存图片,q退出程序。
OK了。
在脚本最开头加上
# coding=UTF-8
就搞定了。