前一篇文章《紅外夜視攝像頭 蒂卡爾K-TF使用手記》記錄了一個30萬像素紅外夜視攝像頭的使用經驗,今天繼續。
昨天晚上將 攝像頭掛在實驗室錄像,今天上午過來,將sd卡取下來,發現錄了不到2G的內容。是3gp格式文件。回放了一下。感覺不太清晰,紅外夜視效果也不好,視場也窄。並且沒有校準時間,視頻上記錄的時間也是錯誤的。
對照場地進行分析,紅外距離3米左右。由於用的是6mm的鏡頭,倒是沒有什麼變形,但是能看的角度太窄了。
昨天沒有找到該攝像頭的專用驅動,今天翻找後終於找到了該攝像頭所附的光盤,在光盤上倒是有win7的驅動。但是試用下來,32位的,在win10 64位下不支持。用虛擬機win7 32位,安裝驅動時仍報錯,修改相應的.inf文件,對其中找不到的.sys文件列表做了處理。可以安裝,但無法加載。可能是開發時的版本與win7不一致。還是無法用。
退一步來講,就算是驅動安上了,也不一定能保證有主動打開紅外燈的接口。
嘗試用python獲取視頻內容
python代碼如下:
#coding:utf-8
# 檢測紅外攝像頭
import cv2
video = cv2.VideoCapture(0)
while True:
check, frame = video.read()
cv2.imshow('Video window', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video.release()
cv2.destroyAllWindows()
程序運行,結果攝像頭打開時出錯
錯誤提示的關鍵信息:
SourceReaderCB::OnReadSample videoio(MSMF): OnReadSample() is called with error status: -2147467263
經查詢相關文獻
發現是設備ID不正確所致
循環暴力破解攝像頭設備ID
import cv2
ID = 0
while(1):
cap = cv2.VideoCapture(ID)
# get a frame
ret, frame = cap.read()
if ret == False:
ID += 1
else:
print(ID)
break
嘗試得到 設備ID爲700後,可以正常捕獲視頻。