How to generate mex for openCV's 'imdecode' for CPU and GPU?

9 views (last 30 days)
JAI PRAKASH on 13 Jan 2019
Commented: cui on 26 Sep 2020
I want to generate mex funtion for 'imdecode'.
First for CPU and then for GPU(GPU, if possible).
I have already downloaded 'OpenCV Interface Support'. But it lacks in some libraries. E.g. mexOpenCV.m shows..
% Libraries that are not included:
% opencv_highgui, opencv_imgcodecs, opencv_videoio, opencv_cudacodec
And I think, openCV's 'imdecode' contains in "opencv_highgui, opencv_imgcodecs".
How can this libraries be added permanently in MATLAB?
Is it possible to avail GPU performance benefits for this particular purpose?
Thank you

Answers (2)

Hitesh Kumar Dasika
Hitesh Kumar Dasika on 18 Jan 2019
Some libraries are not included because of dependency on other third party libraries. The functionality offered by these libraries can also be found in Image processing toolbox as well. You can make use of that.
Hitesh Kumar Dasika
Hitesh Kumar Dasika on 21 Jan 2019
You can make use of the below mentioned MATLAB function to load a C library into MATLAB and use it.

Sign in to comment.

Joss Knight
Joss Knight on 19 Jan 2019
You can just download and use OpenCV yourself, and link in whatever libraries you need on the compile line. This blog post gives an example; it's a bit out of date because it uses MEX instead of MEXCUDA (so now you don't need to copy across the mex options file) but it's a workflow you can follow.
cui on 26 Sep 2020
Which static library file do I need to specify when I use ocvMxArrayToImage_uint8()? libmat.lib, libmx.lib, libmex.lib, libeng.lib? These 4 library files are not enough, these libraries are located in "C:\Program Files\MATLAB\R2020b\extern\lib\win64\microsoft", there are so many I don’t know which one to choose? thanks!
Similar questions refer to this link.

Sign in to comment.




Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!