一、接入U(xiǎn)SB攝像頭
插入usb攝像頭,在命令行模式下輸入? ? ? ? lsusb? ? ? ??
如果看到列舉出來(lái)的信息有camera的話就說(shuō)明識(shí)別成功,可以使用。
二、測(cè)試攝像頭
1、拍照測(cè)試
安裝fswebcam
sudo apt-get install fswebcam
輸入以下命令,開(kāi)啟攝像頭
fswebcam --no-banner -r 640x480 image3.jpg
2、錄像測(cè)試
安裝luvcview
sudo apt-get install luvcview
輸入以下命令,開(kāi)啟攝像頭
luvcview -s 640x480
三、安裝python2
sudo apt-get install python
如果發(fā)現(xiàn)安裝的是python3的話就需要把python改為python2
四、安裝OpenCV
分別運(yùn)行以下兩條命令即可~
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv
在命令行模式下輸入命令,測(cè)試是否安裝成功(如果提示不存在python這個(gè)命令,說(shuō)明可能同時(shí)存在python2和3的環(huán)境,需要特指python2)
python
import cv2
cv2.__version__
若正常出現(xiàn)下圖所示的版本號(hào),則表示安裝成功!
最后退出python環(huán)境,可以輸入exit()
,或者直接快捷鍵ctrl+D
五、拍照存儲(chǔ)功能代碼
其中的圖像預(yù)處理部分根據(jù)需要改。
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)
# 圖像預(yù)處理
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()
然后終端執(zhí)行python?文件名.py
,即可看到出來(lái)畫(huà)面了
(如果提示不存在python這個(gè)命令,說(shuō)明可能同時(shí)存在python2和3的環(huán)境,需要特指python2)
?文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-453419.html
注:在終端執(zhí)行python 文件名.py
后若出現(xiàn)以下錯(cuò)誤
或者是關(guān)于connection timeout 的錯(cuò)誤,換一下攝像頭usb的口,樹(shù)莓派那四個(gè)口都試過(guò)來(lái),會(huì)有可以用的。
讓USB CAMERA界面在前端,按s保存圖片,q退出程序。
OK了。
?
六、報(bào)錯(cuò):python Non-ASCII character '\xe5' in file
在腳本最開(kāi)頭加上文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-453419.html
# coding=UTF-8
就搞定了。
到了這里,關(guān)于【樹(shù)莓派】USB攝像頭+python+opencv 六、報(bào)錯(cuò):python Non-ASCII character '\xe5' in file的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!