ORBBEC OpenNI SDK - Unable to pull Astra Mini S stream in Python

Hello!

I have recently come into possession of an Astra Mini S module and I am trying to use it with python. I have successfully managed to get it to work on my laptop on Windows 10 by downloading the OpenNI Orbbec SDK on your Develop page and following the instructions, but the installation fails on a different machine with Windows 8.1 when trying to run the ‘SensorDriver_V4.3.0.10.exe’ installer, just as seen in the link below. I managed to work-around this by following another post I found and manually installing the camera driver:

Driver install fails on Windows 8.1

After, I tried running the following python script:

import cv2
import numpy as np
from primesense import openni2
from primesense import _openni2 as c_api
import time

openni2.initialize(“./OpenNI2/Redist”)
dev = openni2.Device.open_any()
depth_stream = dev.create_depth_stream()
depth_stream.set_video_mode(c_api.OniVideoMode(pixelFormat = c_api.OniPixelFormat.ONI_PIXEL_FORMAT_DEPTH_100_UM, resolutionX = 640, resolutionY = 480, fps = 15))
color_stream = dev.create_color_stream()
color_stream.set_video_mode(c_api.OniVideoMode(pixelFormat=c_api.OniPixelFormat.ONI_PIXEL_FORMAT_YUV422, resolutionX = 640, resolutionY = 480, fps = 30))
dev.set_image_registration_mode(True)
dev.set_depth_color_sync_enabled(True)
depth_stream.start()
color_stream.start()

This returned an error on the ‘openni.initialize()’ line saying that msvcr120.dll is missing from my computer. I tried to fix this by taking the msvcr120.dll from the Windows 10 machine C:\Windows\System32 and putting it in the same folder of the Windows 8.1 machine.

After the manual installation of the camera driver I was able to see the stream from using the OBNiViewer that came with the OpenNi SDK package, however trying to view it with the NiViewer from OpenNI2/Tools failed:

From what I could gather, ‘Error code: 126’ has to do with an inconsistency/not being able to find certain ‘.dll’ files needed for the process, so maybe my workaround was not the best solution.
When running the above python script, it just returns an error on ‘openni2.Device.open_any()’ with ‘No devices found’.

Additional information:
OS: Windows Embedded 8.1 Industry Pro 64-Bit
Processor: Intel(R) Core™ i5-6500TE
Python Version: 3.7.7

I have also tried installing OpenNI2 from their website and adding the files found in the Driver folder of the Orbbec OpenNI2 SDK to the installation folder and then changing the initialization file path in the python script, but nothing changed.

Thank you for your time!

Andrei