我和我的同事正在使用这个(python)脚本从热像仪导入数据:
try:
while True:
data = q.get(True, 500)
if data is None:
break
data = cv2.resize(data[:,:], (80, 60))
# f.write(data)
minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(data)
# img = raw_to_8bit(data)
np.savetxt("uvc-capture-file.txt",np.array(data))
# f.write(" ")
display_temperature(img, minVal, minLoc, (255, 0, 0))
display_temperature(img, maxVal, maxLoc, (0, 0, 255))
cv2.imshow('Lepton 2.5 Radiometry', img)
cv2.waitKey(1)
cv2.destroyAllWindows()
finally:
libuvc.uvc_stop_streaming(devh)
f.close()
print "done"
finally:
libuvc.uvc_unref_device(dev)
finally:
libuvc.uvc_exit(ctx)
if __name__ == '__main__':
main()
一切正常,但是在 "data = cv2.resize(data[:,:], (80, 60))" 行中,我们将调整大小从 640、480 更改了。我们不确定为什么脚本最初是这样,但是当我们运行它时,它给了我们一个很好的文本文档,矩阵中包含 640x480 的数字。当我们将它插入 Matlab 时,它仍然可以工作。唯一的问题是热传感器仅从 80x60 区域收集数据。它从哪里获得“填充”数字?该脚本的工作方式与 80x60 相同,但它没有给我们一个包含 640x480 数字矩阵的文本文档,而是给了我们一个 80x60 的文本文档。知道为什么吗?
(对不起被屠杀的python脚本)