Describe the bug
Open3d can not load k4a.dll or k4arecord.dll even after I copy depthengine_2_0.dll, k4a.dll and k4arecord.dll to my anaconda python environment library folder D:\miniconda3\envs\cv2\Library\bin
To Reproduce
Steps to reproduce the behavior:
python examples/Python/ReconstructionSystem/sensors/azure_kinect_viewer.py --align_depth_to_colorExpected behavior
[Open3D FATAL] Cannot load k4a.dll
Screenshots
Environment (please complete the following information):
Having the same issue
I'm waiting for a Kinect Azure to use with open3d.. is it solved ?
Did you follow all the steps here? Including installing the azure Kinect
sdk?
http://www.open3d.org/docs/latest/tutorial/Basic/azure_kinect.html
On Mon, 25 Nov 2019 at 08:13, argosvr notifications@github.com wrote:
I'm waiting for a Kinect Azure to use with open3d.. is it solved ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/intel-isl/Open3D/issues/1314?email_source=notifications&email_token=AE3BDJS3OFQEBWMKDUPAOLLQVN3JNA5CNFSM4JMJDRUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFBMA3Y#issuecomment-558022767,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3BDJR5CW6WTKSNNVX7L4LQVN3JNANCNFSM4JMJDRUA
.>
Stephan Sturges
+32 484 06 19 63
@yxlao is this because the dll signature has changed?
I fixed the issue by renaming the Azure SDK folder (literally changed 1.3.0 to 1.2.0). Probably open3d looks for the specific 1.2.0 folder.
I had similar issue working with 1.3.0 SDK. So I downgraded Kinect SDK to 1.2.0.
Tested both k4a versions with open3d-0.8.0 and only k4a v1.2 works with open3d 0.8.0. Trying open3d with k4a SDK 1.3 throws [Open3D FATAL] Cannot load k4a.dll whereras installing SDK 1.2 works fine.
Just for the record, the installers are here: v1.2, v1.3
Works with k4a SDK 1.2.0. DLL binaries need to be copied to examples/Python/ReconstructionSystem/sensors/ where the python script is.
One issue is that when firmware of sensor has been upgraded with k4a SDK 1.4.0, the sensor no longer works with k4a SDK 1.2.0.
Fixed this issue by copying k4a.dll, depthengine_2_0.dll, k4arecord.dll from sdk 1.2.0 (C:\Program Files\Azure Kinect SDK v1.2.0\sdk\windows-desktop\amd64\release\bin) to your python location C:\Users\Username\AppData\Local\Programs\Python\Python36\DLLs\ (works with sdk 1.4.0 installed, just copy 1.2.0 dlls to python folder)
None of the above worked.
Python 3.7
Win 10
Anacoda
Open3D 0.10
PS. The issue occurs only with Kinect Azure SDK 14.0
I really don't understand why this issue hasn't been taken much seriously. Having faced this issue really many times and in multiple versions, I can see that issue really needs attention and has been here for relatively long time. @syncle @yxlao
This is dispointint...
I can't understand how this is still not solved.. this is not serious .. is this project really seriously maintained ? When I see that I doubt about that.
@theNded @chuong
Copying the 1.4 dlls to any of the locations suggested before did not work.
However, after I installed 1.2 SDK using the msi installer using the link posted above (I have now all of 1.2, 1.3, 1.4, and I think I've upgraded the FW too), the python bindings for the examples in Open3D\examples\python\ReconstructionSystem\sensors started working. No need to copy the dll's anywhere.
However, it'd be great if it would just work with the latest sdk...
we are trying to find some bandwidth to work on this
when i work python examples/Python/ReconstructionSystem/sensors/azure_kinect_viewer.py
I can see error "Cannot load k4a.dll"
so I downgraded Kinect SDK to 1.2.0. with @scimad comment. Then it works! azure_kinect_viewer.py is works. and azure_kinect_recorder.py is works.
but after work python examples/Python/ReconstructionSystem/sensors/azure_kinect_mkv_reader.py, I can see error "Cannot load k4arecord.dll"
i can't solve it
On Windows, the Open3D Kinect plugin will look for the Kinect K4A library located in the default installation paths:
Currently, it supports 1.2.0 to 1.4.1. So first, check if the dll files are are found in the paths above.
If the K4A library is not in the default location, you'll need to set the K4A_LIB_DIR environment variable to point to the directory containing the K4A's *.dll files.
Some of the fixes we have are in the master branch, we'll be updating the python packages in the next release.
Hey I'm still experiencing the same issue when trying to run azure_kinect_mkv_reader.py
I added the the K4A_LIB_DIR environment variable and also copied the dlls to open3d package
can you guide me towards how to find out what wrong?
---EDIT---
following some advice here I copied the dlls to the python/DLLs folder and I no longer get the cannot load error
now I get these repeated and no images are created:
[2021-01-03 23:34:03.522] [error] [t=4476] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (295): Invalid argument to capture_dec_ref(). capture_handle (0000018639970620) is not a valid handle of type k4a_capture_t
[2021-01-03 23:34:03.525] [error] [t=4476] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (118): k4a_capture_t_get_context(). Invalid k4a_capture_t 00000186399703E0
[2021-01-03 23:34:03.525] [error] [t=4476] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (344): Invalid argument to capture_get_color_image(). capture_handle (00000186399703E0) is not a valid handle of type k4a_capture_t
[2021-01-03 23:34:03.525] [error] [t=4476] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (118): k4a_capture_t_get_context(). Invalid k4a_capture_t 00000186399703E0
[2021-01-03 23:34:03.526] [error] [t=4476] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (359): Invalid argument to capture_get_depth_image(). capture_handle (00000186399703E0) is not a valid handle of type k4a_capture_t
[2021-01-03 23:34:03.527] [error] [t=4476] D:\a\1\s\extern\Azure-Kinect-Sensor-SDK\src\allocator\allocator.c (118): k4a_capture_t_get_context(). Invalid k4a_capture_t 00000186399703E0
Thanks
Most helpful comment
Copying the 1.4 dlls to any of the locations suggested before did not work.
However, after I installed 1.2 SDK using the msi installer using the link posted above (I have now all of 1.2, 1.3, 1.4, and I think I've upgraded the FW too), the python bindings for the examples in Open3D\examples\python\ReconstructionSystem\sensors started working. No need to copy the dll's anywhere.
However, it'd be great if it would just work with the latest sdk...