本文來(lái)源電子發(fā)燒友社區(qū),作者:HonestQiao, 帖子地址:https://bbs.elecfans.com/jishu_2293834_1_1.html
實(shí)錄視頻(開(kāi)發(fā)板體驗(yàn)視頻,詳見(jiàn)作者原帖子)
最近在研究米爾的開(kāi)發(fā)板,用上了一個(gè)海康威視的USB攝像頭,很好用,于是想在星光派單板計(jì)算機(jī)也嘗試使用。
米爾的開(kāi)發(fā)板是arm64的,而咱們的星光派單板計(jì)算機(jī),是RISC-V的,架構(gòu)不一樣,不清楚軟件的支持情況如何。
進(jìn)過(guò)一番嘗試,發(fā)現(xiàn)異常的順利,能夠正常使用,現(xiàn)在將使用的過(guò)程,分享出來(lái)。
實(shí)際使用的海康威視USB攝像頭如下:
將該USB攝像頭,連接到USB接口即可:
因?yàn)槲疫€研究了,在矽速M(fèi)2 Dock上面通過(guò)網(wǎng)絡(luò)獲取星光派USB攝像頭的數(shù)據(jù),所以上圖中帶屏幕的就是M2 Dock,后續(xù)這個(gè)過(guò)程,也會(huì)給大家分享。我使用的是Debian系統(tǒng),大家如果使用其他的系統(tǒng),可以參考,根據(jù)系統(tǒng)實(shí)際情況進(jìn)行處理。
啟動(dòng)星光派單板計(jì)算機(jī),并使用ssh連接后,接上攝像頭,拔下攝像頭,通過(guò)dmesg命令可以看到信息:
dmesg
其中,紅線上面的部分,是拔掉USB后的信息。
而紅線下面的部分,則是接上USB攝像頭后的信息。
從其中我們可以看到,系統(tǒng)識(shí)別到了HIK 720P Camera
,其中有一個(gè)id信息idVendor=2bdf, idProduct=0280
,這個(gè)非常重要,后面會(huì)使用到。
然后,我們可以安裝v4l工具,來(lái)查看攝像頭的具體參數(shù)信息:
# 安裝v4l
sudo apt install v4l-utils
# 查看識(shí)別的攝像頭設(shè)備
sudo v4l2-ctl --list-devices
# 查看攝像頭支持的格式
sudo v4l2-ctl -d /dev/video0 --list-formats
# 查看攝像頭支持的分辨率:
sudo v4l2-ctl --list-framesizes=MJPG -d /dev/video0
從上圖中,可以看到,HIK 720P Camera
掛載點(diǎn)鐘,可以使用/dev/video0,支持MJPEG和YUYV格式,分辨率最高位720P。
獲取了上面的攝像頭基本信息后,就可以正式試用攝像頭了。
為了讓普通用戶也能夠使用/dev/video0設(shè)備,我們需要先做一下設(shè)置:
sudo vim /etc/udev/rules.d/my-uvc-usb.rules
### 添加下面這行
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2bdf", ATTRS{idProduct}=="0280", GROUP="HonestQiao", MODE="0666"
這里的idVendor、idProduct需要與在demesg中看到接上USB攝像頭后的信息保持一致。GROUP需要使用當(dāng)前登錄的用戶。
設(shè)置完成后,使用sudo reboot
重啟生效即可。
要使用攝像頭拍照和錄制視頻,需要是用合適的工具。
拍照部分,我使用了camorama
,可以實(shí)時(shí)預(yù)覽攝像頭畫(huà)面,并且在界面上點(diǎn)擊拍照。
錄制視頻部分,可以試用的軟件很多,我選擇了使用命令行的ffmpeg,雖然使用難度大一點(diǎn),但是能力強(qiáng)大,而身材有非常小巧。
拍照和錄制視頻后,還需要查看圖片和播放視頻,我使用的是ristretto和smplayer,兩者都簡(jiǎn)單好用。
分別安裝上面的4個(gè)軟件:
sudo apt install camorama
sudo apt install ffmpeg
sudo apt install ristretto
sudo apt install smplayer
然而,當(dāng)我配置好xfce桌面環(huán)境,打開(kāi)操作的時(shí)候,速度奇慢無(wú)比,最終決定放棄桌面系統(tǒng)的操作,改為命令行操作了。
用命令行操作就簡(jiǎn)單了,一個(gè)ffmpeg命令,就搞定一切了。
拍照:
ffmpeg -f video4linux2 -r 1 -s 640x480 -i /dev/video0 -frames:v 1 test.jpg
錄制視頻:
ffmpeg -f video4linux2 -r 10 -s 640x480 -i /dev/video0 test.mp4
拍照和錄制視頻后,使用ssh將文件拷貝出來(lái),就可以查看了。
上面是使用命令行工具,進(jìn)行視頻的拍攝,如果你會(huì)Python,那么可以用Python編程,來(lái)進(jìn)行拍攝。
要用Python操作攝像頭,需要先安裝cv2模塊
pip install opencv-python
然后編寫(xiě)camera_test.py:
#coding:utf-8
import cv2
cap = cv2.VideoCapture(0)
flag = cap.isOpened()
index = 1
while(flag):
ret, frame = cap.read()
# cv2.imshow("Capture_Paizhao",frame)
k = cv2.waitKey(1) & 0xFF
if k == ord('s'): #按下s鍵,保存圖片
cv2.imwrite("./" + str(index) + ".jpg", frame)
print(cap.get(3))
print(cap.get(4))
print("save" + str(index) + ".jpg successfuly!")
print("-------------------------")
index += 1
elif k == ord('q'): #按下q鍵,退出
break
cap.release()
cv2.destroyAllWindows()
編寫(xiě)保存后,運(yùn)行即可進(jìn)行操作:
python camera_test.py
按s鍵拍照,按q鍵退出。
-
RISC-V
+關(guān)注
關(guān)注
44文章
2229瀏覽量
46032 -
賽昉科技
+關(guān)注
關(guān)注
3文章
146瀏覽量
14261
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論