资源简介
EXR格式图片Matlab读写插件
通过该插件,可以在Matlab中完成对OpenEXR格式图片的读写操作。

代码片段和文件信息
/*
* MATLAB MEX function for displaying channel types of an EXR image.
*
*/
#include
#include “ImfRgbaFile.h“
#include “ImfStringAttribute.h“
#include “ImfMatrixAttribute.h“
#include “ImfChannelList.h“
#include “ImfPixelType.h“
#include “Iex.h“
#include “mex.h“
using namespace Imf;
using namespace Imath;
using namespace Iex;
using std::cout;
using std::endl;
using std::flush;
/*
* Check inputs:
* only one input argument that is a string (row vector of chars)
* one or two output arguments
*
* These checks were copied from the MATLAB example file revord.c
*/
void checkInputs(int nlhs mxArray *plhs[] int nrhs const mxArray *prhs[]) {
if (nrhs != 1)
mexErrMsgTxt(“Incorrect number of input arguments“);
if (nlhs > 1)
mexErrMsgTxt(“Incorrect number of output arguments“);
if (mxIsChar(prhs[0]) != 1)
mexErrMsgTxt(“Input must be a string“);
if (mxGetM(prhs[0]) != 1)
mexErrMsgTxt(“Input must be a row vector.“);
return;
}
/*
* Read the header of an EXR file.
* Code follows examples from ReadingAndWritingImageFiles.pdf found
* here:
* http://www.openexr.com/ReadingAndWritingImageFiles.pdf
*/
void mexFunction(int nlhs mxArray *plhs[] int nrhs const mxArray *prhs[]) {
checkInputs(nlhs plhs nrhs prhs);
char *filename = mxArrayToString(prhs[0]);
try {
RgbaInputFile file(filename);
const ChannelList &ch = file.header().channels();
int ix = 1;
for (ChannelList::ConstIterator i = ch.begin(); i != ch.end(); ++i) {
const Channel &channel = i.channel();
PixelType type = channel.type;
const char* t = (type == UINT) ? “uint“ :
((type == HALF) ? “half“ : “float“);
cout << “channel “ << ix++ << “: “;
cout << t << endl;
}
const StringAttribute *comments =
file.header().findTypedAttribute (“comments“);
const M44fAttribute *cameraTransform =
file.header().findTypedAttribute (“cameraTransform“);
if (comments)
cout << “comments\n “ << comments->value() << endl;
if (cameraTransform)
cout << “cameraTransform\n“ << cameraTransform->value() << flush;
} catch (const std::exception &exc) {
mexErrMsgTxt(exc.what());
}
// Free the memory for the string
mxFree(filename);
return;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2009-05-21 17:37 MatlabEXR\
文件 2254 2009-05-21 17:23 MatlabEXR\exrinfo.cpp
目录 0 2009-05-21 17:37 __MACOSX\
目录 0 2009-05-21 17:37 __MACOSX\MatlabEXR\
文件 82 2009-05-21 17:23 __MACOSX\MatlabEXR\._exrinfo.cpp
文件 341 2008-03-11 09:26 MatlabEXR\exrinfo.m
文件 3734 2009-05-21 17:23 MatlabEXR\exrread.cpp
文件 82 2009-05-21 17:23 __MACOSX\MatlabEXR\._exrread.cpp
文件 405 2008-03-11 11:08 MatlabEXR\exrread.m
文件 3572 2009-05-21 17:23 MatlabEXR\exrwrite.cpp
文件 82 2009-05-21 17:23 __MACOSX\MatlabEXR\._exrwrite.cpp
文件 414 2008-03-11 09:38 MatlabEXR\exrwrite.m
文件 1283 2009-05-21 17:26 MatlabEXR\README.txt
文件 82 2009-05-21 17:26 __MACOSX\MatlabEXR\._README.txt
- 上一篇:matlab批量抠图
- 下一篇:matlab串口实时显示波形。
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论