I’m an engineer from Germany and currently building a concept for object detection and measurement. The objects lengths, widths and heights should be then sent to the robot. So using BlobTracker and extract information from the depth frame would be my main goal.
Background:
I purchased the Astra Mini S as our application requires the camera to be enclosed in a case and the detection range should be short. (Sadly I just realized that Astra Pro might be the better option as it supports UVC.)
I do not have a strong programming knowledge. That’s why I prefer to use EmguCV as it saves me a lot of work by offering a good wrapper for programming in C# without the compiling and settings.
My thoughts:
using AstraSDK to get colorFrames and DepthFrames
convert the colorFrames into Mat (which can be accepted by EmguCV)
get the height of the object from DepthFrame after BlobTracker has done its job
pack these information into a package and send it via Socket
Questions:
Generally, what would you recommend? How should this concept be built?
I cannot find any description of ColorFrame, if I use AstraSDK, how can I get the frame and convert it into a Mat? Can I convert ColorFrame into a Bitmap first? How?
Should I give up the idea of using EmguCV and use OpenCV directly? I somehow saw an example with OpenCV library and they somehow got the Frame directly passed to OpenCV.
There are a lot of questions…As a beginner I need your help! Thanks in advance!
Thanks for your help! I found your example before - sadly I could not get the sample built. I tried it and it throws System.IO.FileLoadException and said that a dependency is not found…
After searching for solution (changing the app.config) I finally get it to build and run just now!
You mentioned that ColorFrame can be converted, can you show me the direction? I know in OpenCV you can convert a Bitmap into Mat but as I said I did not find a way to convert ColorFrame to Bitmap…
Thanks again! You helped me a lot with the great example!