我正试图从USB FLIR摄像头获取帧。当我在单独的应用程序中查看时,视频流工作正常,一切都清晰明快
当我在代码中捕捉和保存图像时,对比度太低,无法使用。我试过转换到灰度并做一个Equalizehist,但原始图像缺少了太多信息,质量最终成为垃圾。
所以我认为问题出在cV2.VideoCapture()上。当我尝试设置摄像头首选项时,我只是得到错误或图像结果没有变化。错误都是由于摄像头不支持通过USB设置,这是大多数USB摄像头和cV2.VideoCapture()的情况。
我在调试时使用的简化示例
import time
import cv2
camera = cv2.VideoCapture(0)
#camera.set(Id, value)
time.sleep(1)
return_value, image = camera.read()
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
equ = cv2.equalizeHist(gray)
cv2.imwrite("cam1/FLIR1_" + str(count) + ".png", equ)
Example Image Normal, taken from cheese
Example Image Code, pre-hist, note you can see myself with a headset and a mic
1条答案
按热度按时间nkcskrwz1#
我想您可能知道您正在处理的是gray 8(“示例图像正常,取自cheese”)还是gray 16(“示例图像代码,预先历史记录,注意您可以看到自己戴着耳机和麦克风”)图像。
这里有一个很好的解释:
https://youtu.be/T-XuDpsJ-g8
,摘自本课程:
https://pyimagesearch.com/2022/10/17/thermal-vision-measuring-your-first-temperature-from-an-image-with-python-and-opencv/
我希望这对你有帮助!:)