【发布时间】:2021-02-14 06:31:18
【问题描述】:
这方面有几个主题,但其中许多都非常古老,并且没有提供真正的解决方案(或者肯定没有一个对我有用)。
我正在尝试各种库来让 Python 读取我的 USB 相机 (DCC1545M) 的帧,它们都有各种模块或 DLL 导入错误。我正在尝试 Instrumental、Thorcam API、py-harware、micromanager..
具体来说,我希望它能够与 OpenCV 一起使用,因为所有有用的计算机视觉功能可以稍后在图像上使用,我不确定你是否可以使用其他库。
但是,我遇到了和其他人一样的问题,首先是 openCV 无法读取 USB 摄像头。
cap = cv2.VideoCapture(1) ## tried difference indices
cap.isOpened() ## returns FALSE
img_counter = 0
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
while True:
ret,frame = cap.read() ## returned frame is empty
cv2.imshow('preview',frame)
k = cv2.waitKey(1)
if k%256==32: # if SPACE is pressed, take image
img_name = 'frame_number_{}.png'.format(img_counter)
cv2.imwrite(img_name,frame)
print('frame taken ')
img_counter += 1
cap.release()
cv2.destroyAllWindows()
我已经从 Thorlabs 网站安装了驱动程序,并且我有 uc480_64.dll。使用 Instrumental() 库成功定位相机:
from instrumental import list_instruments, instrument
from ctypes import *
paramsets = list_instruments() ## camera found
print(paramsets)
返回
[
]
我想知道是否有人知道在过去的几年中,openCV 是否设法找到了一种读取 USB 摄像头的方法,如果是,那是什么方法? 或者任何其他可靠的方法,它允许对捕获的帧进行进一步的图像处理。
PS:我在超级用户上发布了这个,因为显然 stackoverflow 上不允许出现硬件问题,但是 suoeruser 将它迁移回这里.. 如果它在这里也偏离主题,请道歉。
【问题讨论】: