我已经使用blender生成了一些深度图,并以OpenEXR格式保存了z缓冲区值(32位)。有没有办法使用OpenCV 2.4.13和python 2.7从.exr文件(逐像素深度信息)中访问值?在任何地方都找不到示例。我只能在文档中看到支持这种文件格式。但试图读取这样的文件会导致错误。
new=cv2.imread("D:\\Test1\\0001.exr")
cv2.imshow('exr',new)
print new[0,0]
错误:
print new[0,0]
TypeError: 'NoneType' object has no attribute '__getitem__'
和
cv2.imshow('exr',new)
cv2.error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
3条答案
按热度按时间a14dhokn1#
我可能会晚一点去参加聚会,但是;是的,您完全可以使用OpenCV。
应该能满足你的需要
t9aqgxwy2#
完整解决方案
@Iwohlhart的解决方案为我抛出了一个错误,
3htmauhk3#
您可以使用OpenEXR软件包
如果上述操作失败,请安装OpenEXR dev库,然后按上述方法安装python包
如果未安装gcc
读取exr文件