一、接入USB摄像头
插入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
三、安装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
后若出现以下错误
或者是关于connection timeout 的错误,换一下摄像头usb的口,树莓派那四个口都试过来,会有可以用的。
让USB CAMERA界面在前端,按s保存图片,q退出程序。
OK了。
六、报错:python Non-ASCII character '\xe5' in file
在脚本最开头加上
# coding=UTF-8
就搞定了。
转载:https://blog.csdn.net/weever7/article/details/125782340
查看评论