google-coral / example-object-tracker

Apache License 2.0
112 stars 32 forks source link

Reason for using gstreamer #7

Closed acirulis closed 3 years ago

acirulis commented 3 years ago

Just wanted to ask about choices in this example - why is Gstreamer library chosen instead of OpenCV? It seems to me that Gstreamer is more popular as a native C++ library, instead of Python bindings version and offers advanced functionality which is not really required in object detection/tracking example.

There are very few gstreamer-python related tutorials/documentation out there so I believe learning curve to fully understand code used in example would be quite long.

To be honest, this is first time I am working with Gstreamer and I have spent few hours learning about it. I have managed to grasp basics about building pipelines and connecting them with Gtk application. Are there any performance or other reasons why gstreamer is chosen over opencv? Or my thought process is very wrong here? Thanks in advance for any explanations.

manoj7410 commented 3 years ago

@acirulis The same tracker was also embed with OpenCV but due to the performance issues we didn't publish it.

acirulis commented 3 years ago

Thank you, I was guessing performance as one of the key factors. Actually now I have very specific problem but I will create separate issue for that (I am trying to save display output to file instead of screen but I am not sure how to work with gldownload element correctly).

zlg9folira commented 3 years ago

I am personally really interested in C++ version of detect.py , and possibly an integration with CV . Should have lots of fans out there! @manoj7410