资源简介
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串口实时显示波形。
- matlab批量抠图
- Deep Semi-NMF源代码
- Semi-NMF源代码
- 背景差分提取,波门跟踪
- 傅立叶变换五大性质的matlab实现
- matlab中的牛顿下山法
- 基于形态学的matlab边缘检测小程序
- 超大tif图像分割为100等份
- matlab三相调压异步机电路
- 随机过程 布朗运动matlab仿真程序
- 多元霍夫曼编码的matlab实现
- r元霍夫曼编码的matlab实现
- MATLAB课程设计 信号的取样与恢复
- 等效电荷法计算电场
- matlab做的图像检索源码
- 基于Graphcut的图像分割(Matlab)
- matlab数字图像处理——清华大学出版
- 用MATLAB仿真markov链程序
- RBFNN的Matlab仿真
- matlab 实现的一位搜索算法和多维搜索
- 分数阶傅里叶变换MATLAB
- 语音变速变调matlab代码
- 图像处理_烟雾检测matlab代码
- 锁相环原理以及matlab仿真程序
- Matlab画图、线条颜色设置函数linspec
- 嵌入式小波零树(ezw)编码matlab程序
- MATLAB频域图像增强技术
- 基于遗传算法的投影寻踪模型matlab实
- 移相全桥matlab仿真实现
评论
共有 条评论