imwrite function in c++ shared library

4 views (last 30 days)
Greetings,
I am compiling a matlab code which has the imwrite function in it. I want it to create an image file and write it to the disk when the c++ code calls my dll. The problem is it does not output the image file. Is it not possible to use imwrite function in a c++ shared library? If it is so, are there any alternatives to this function that will create an image file in a predefined path the user provides?
  6 Comments
Kojiro Saito
Kojiro Saito on 17 Aug 2018
Yes, and MATLAB function, if possible. Don't you get any error?
Walter Roberson
Walter Roberson on 17 Aug 2018
Note here the difference between MATLAB Compiler SDK and MATLAB Coder.
MATLAB Coder would be for stand-alone code generation; imwrite() is not supported for that purpose.
MATLAB Compiler SDK would be for generating a DLL that called into the MATLAB Engine to do the work, requiring that MCR be present. imwrite is supported for that purpose.
I interpreted your "compile" as meaning code generation, but Kojiro Saito is correct that you could easily have meant Compiler SDK.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 17 Aug 2018
imwrite() is not supported for code generation, for any file type.
(and imread() supports code generation only for reading 8 bit JPEG.)
You can find external libraries to write files, such as libjpeg and libtiff and libpng
  2 Comments
Aksay Fatih Öncel
Aksay Fatih Öncel on 17 Aug 2018
Thank you, that was very prompt.
David
David on 16 Apr 2022
Can someone point us to an example?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!