在 OpenCV 中读取 .exr 文件

gay*_*aya 4 python opencv image zbuffer openexr

我使用搅拌机生成了一些深度图,并以 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]
Run Code Online (Sandbox Code Playgroud)

错误:

print new[0,0]
TypeError: 'NoneType' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

我找到的最近的是这个链接和这个链接

lwo*_*art 7

我参加聚会可能有点晚了,但是;是的,您绝对可以为此使用 OpenCV。

cv2.imread(PATH_TO_EXR_FILE,  cv2.IMREAD_ANYCOLOR | cv2.IMREAD_ANYDEPTH)  
Run Code Online (Sandbox Code Playgroud)

应该给你你需要的东西