歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Windows下在Matlab中讀寫OpenEXR格式的圖片

Windows下在Matlab中讀寫OpenEXR格式的圖片

日期:2017/2/28 15:42:46   编辑:Linux教程

由於最近有需求對OpenEXR格式的圖片進行處理,而Matlab本身並不支持OpenEXR格式的圖片讀寫。發現在網上有一個插件,使用該插件可以在Matlab中直接使用exrread/exrwrite對OpenEXR格式的圖片進行處理:

網址為:http://www.mit.edu/~kimo/software/Matlabexr/

為了防止該網址失效,我將該插件放在了資源裡:

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/8月/18日/Windows下在Matlab中讀寫OpenEXR格式的圖片

1)Windows下安裝編譯IlmBase,Zlib,OpenEXR 見 http://www.linuxidc.com/Linux/2012-08/68605.htm

2)解壓MatlabEXR.zip到指定目錄,並將該目錄加入Matlab路徑中。

cd到該目錄

mex exrwrite.cpp -lHalf -lIlmImf -IC:\Deploy\include -LC:\Deploy\lib\Win32\Release

mex exrinfo.cpp -lIlmImf -lHalf -IC:\Deploy\include -LC:\Deploy\lib\Win32\Release

mex exrwrite.cpp -lIlmImf -lHalf -IC:\Deploy\include -LC:\Deploy\lib\Win32\Release

遇到問題及解決方案:

1)exrread.obj: error LNK2019: unresolved external symbol "private: static unionhalf::uif const * const half::_toFloat" (?_toFloat@half@@0QBTuif@1@B)referenced in function "public: __thiscall half::operator float(void)const" (??Bhalf@@QBEMXZ)

exrread.mexw32: fatal error LNK1120: 1 unresolved externals

解決方法:在exrread.cpp,exrinfo.cpp和exrwrite.cpp前加上一行

#define OPENEXR_DLL

2)Invalid MEX-file'C:\Users\IMI_User\Documents\MATLAB\MatlabEXR\MatlabEXR\exrread.mexw32': The specified module could not be found.

解決方法:將OpenEXR的dll路徑添加到系統環境變量。

Copyright © Linux教程網 All Rights Reserved