OpenCV Graph API

72 views
Skip to first unread message

Jason von Nieda

unread,
Feb 28, 2021, 1:33:20 PM2/28/21
to ope...@googlegroups.com
Hi all,

I'm working on setting up automated builds for OpenCV, and I noticed something in my research: https://docs.opencv.org/master/d0/d1e/gapi.html

OpenCV Graph API is an API that works an awful lot like OpenPnP's CVPipeline. In many cases it's a nearly 1 to 1 mapping. If we could come up with a way to convert OpenPnP pipelines to Graph API calls, we could completely remove all the downsides of going from OpenCV to Java and back again. We could push a set of pipeline calls in along with an image, and get an image back.

An interesting benefit of this would be that since OpenCV would do all the processing internally, we'd significantly decrease the chance of memory leaks, and would gain significant performance benefits from not having to copy a bunch of image data around for each step in the stage. We also may be able to take better advantage of platform specific OpenCV performance transparently.

The way I'd see this working is that we'd start adding GAPI support to individual stages. CVPipeline would become GAPI aware, so that if more than one sequential stage in a pipeline is GAPI enabled, those stages would all be sent to OpenCV as a GAPI pipeline.

So, two things:

1. Anyone have any thoughts on this?
2. Anyone want to take it on? :)

Thanks,
Jason

Jarosław Karwik

unread,
Mar 1, 2021, 1:25:23 PM3/1/21
to OpenPnP
Well,

Looking at the concept the GAPI was designed to precompile full pipelines and then run it full speed.
If you  execute step by step you will have to create the computational stage gain and again, also image capturing would be still in OpenPnp.

I think the real benefit would be  if you are able to send whole pipeline design  once and only expect results back.
But this would be big change - involving image capturing and whole pipeline processing outside OpenPnp.
Reply all
Reply to author
Forward
0 new messages