Windows下在Matlab中读写OpenEXR格式的图片
首先编译Windows下安装编译IlmBase,Zlib,OpenEXR,把dll文件路径添加到环境变量中
然后下载http://www.mit.edu/~kimo/software/matlabexr/源码文件,解压,打开matlab,进入文件夹
在matlab中编译插件
mex exrwrite.cpp -LX:\path\to\ilmbase\x64\lib -LX:\path\to\openexr\x64\lib -lHalf -lIlmImf -IX:\path\to\ilmbase\x64\include\OpenEXR -IX:\path\to\openexr\x64\include\OpenEXR
mex exrread.cpp -LX:\path\to\ilmbase\x64\lib -LX:\path\to\openexr\x64\lib -lHalf -lIlmImf -IX:\path\to\ilmbase\x64\include\OpenEXR -IX:\path\to\openexr\x64\include\OpenEXR
mex exrinfo.cpp -LX:\path\to\ilmbase\x64\lib -LX:\path\to\openexr\x64\lib -lHalf -lIlmImf -IX:\path\to\ilmbase\x64\include\OpenEXR -IX:\path\to\openexr\x64\include\OpenEXR
问题,
在exrread.cpp,exrinfo.cpp和exrwrite.cpp的第一行添加
#define OPENEXR_DLL
使用方法
>> im = exrread(filename);
>> [im,mask] = exrread(filename);
>> exrwrite(im,filename)
>> exrwrite(im,mask,filename)