I am using Argus API and I am trying to read the pixel data from the buffer for a MIPI camera.However I can see that two buffers are being used in Argus and buffer data can be accessed by iImage->mapBuffer().But the pixel data is not in a proper order because two buffers are used.Can you advise how to get the image buffer in a single unsigned char pointer. I need the image buffer data in a proper format.
the image data through Argus API has begin process by ISP,
may I know what’s your actual use-case, are you going to use OpenCV or doing some post-process?
I need the buffer data to render it in a QT window as continuous frames.I can see a function named writeHeaderLessfile() from where I can get the buffer.However file writing for every frame is highly time consuming and there will be a huge frame drop. i am looking to get the image buffer data directly using argus.
you may see Argus samples, Argus/public/samples/yuvJpeg to render preview frames directly.
this sample also write JPEGs to disk, you may modify the sample to ignore this write process.
could you please also point-out what’s the failure here.
thanks
I am aware of Argus/public/samples/yuvJpeg and I can see the usage of two buffers there. I need an unsigned char pointer where both the buffers are combined and given as one entity for one frame such that I am able to directly throw the buffer into an Open CV Mat or for other post processing applications like QT.
Hope this clarifies.
you could simply check opencv_gst_samples_src.tbz2 for the samples demonstrate how to integrate NVIDIA accelerated GStreamer plugins with the custom OpenCV software library to acquire frames.
it’s BSP release, which available via https://developer.nvidia.com/embedded/linux-tegra.