红外夜视摄像头 蒂卡尔K-TF使用手记 2

前一篇文章《红外夜视摄像头 蒂卡尔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后,可以正常捕获视频。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章