Properly interfacing with IP from Pynq

Hi @cathalmccabe, this is precisely my issue when i refer to interfacing with OpenCV constructs.
I would like to know (as in read and learn more) what ways exist to interface an IP with the outside world (PYNQ). Is it with the stream construct, or the vector construct, or also simply passing a pointer like in here and writting it to a cv::Mat object (which has raised issues as in the first link)?.
Please consider that i’m asking from a novice point of view, so some things might be obvious to you that are not to me.
Thanks in advance.