ITK 读写基本例子
#include "itkImageFileReader.h"#include "itkImageFileWriter.h"
typedef unsigned short PixelType;//无符号短型const unsigned int Dimension = 2;//二维图片typedef itk::Image< PixelType, Dimension > ImageType;//定义图像类型
typedef itk::ImageFileReader< ImageType > ReaderType;typedef itk::ImageFileWriter< ImageType > WriterType;
ReaderType::Pointer reader = ReaderType::New( );WriterType::Pointer writer = WriterType::New( );//智能指针(详见),现在可以暂时把它看做是对一个对象的实例的操作
reader->SetFileName( inputFilename );//读取的文件名(路径)writer->SetFileName( outputFilename );//写入的文件名(路径)
writer->SetInput( reader->GetOutput( ) );
try{writer->Update( );}catch( itk::ExceptionObject & err ){std::cerr << "ExceptionObject caught !" << std::endl;std::cerr << err << std::endl;return EXIT_FAILURE;}
//ITK官网完整代码(英文注释删减版,源代码见Examples/IO/ImageReadWrite.cxx)#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkImage.h"int main(int argc, char** argv)
{typedef short PixelType;const unsigned int Dimension = 2;typedef itk::Image< PixelType, Dimension > ImageType;typedef itk::ImageFileReader< ImageType > ReaderType;typedef itk::ImageFileWriter< ImageType > WriterType;ReaderType::Pointer reader = ReaderType::New();WriterType::Pointer writer = WriterType::New();const char* inputFilename = argv[1];const char* outputFilename = argv[2];reader->SetFileName(inputFilename);writer->SetFileName(outputFilename);writer->SetInput(reader->GetOutput());try{writer->Update();}catch (itk::ExceptionObject& err){std::cerr << "ExceptionObject caught !" << std::endl;std::cerr << err << std::endl;return EXIT_FAILURE;}return EXIT_SUCCESS;
}
"异常"后续:直接对上述官网源码添加读写文件名,会产生错误"Could not create IO object for writing file. There are no registered IO factories."
该错误提示就是由Try/Catch异常处理提供.根据错误类型,我们创建一个GDCMImageIO对象(对应格式的ImageIO对象)并将其与reader和writer相连即可。
ITK 读写基本例子相关推荐
- ITK:读写矢量图像
ITK:读写矢量图像 内容提要 C++实现代码 内容提要 本示例说明了如何读取和写入像素类型为Vector的图像. C++实现代码 #include "itkImageFileReader. ...
- 最简单的基于FFmpeg的内存读写的例子:内存转码器
===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章列表: 最简单的基于FFmpeg的内存读写的 ...
- 最简单的基于FFmpeg的内存读写的例子:内存播放器
===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章列表: 最简单的基于FFmpeg的内存读写的 ...
- java txtreader_一个简单的Java读写文件例子
针对txt文件的读写可以使用java的读写操作.以下是一个简单的例子: import java.io.BufferedReader; import java.io.BufferedWriter; im ...
- 使用ITK读写DICOM序列
版本:ITK 5.1.1 关键类: itk::ImageSeriesReader 用于读取图像序列: itk::ImageSeriesWriter 用于写入 ...
- golang 文件操作 创建 读写 复制移动 权限 删除
目录 介绍 基本操作 创建空文件 Truncate文件 得到文件信息 重命名和移动 删除文件 打开和关闭文件 检查文件是否存在 检查读写权限 改变权限.拥有者.时间戳 硬链接和软链接 读写 复制文件 ...
- Android开发笔记(三十四)Excel文件的读写
Android中操作Excel文件的场合较少见,主要是一些专业领域导入导出报表时使用,所以处理Excel读写的开源代码也很稀缺.目前读写Excel主要采用开源库jxl,这个是韩国人写的excel操作工 ...
- Android开发笔记(三十三)文本文件和图片文件的读写
文本文件读写 简单文件读写一般是借助于FileOutputStream和FileInputStream,其中FileOutputStream用于写文件,而FileInputStream用于读文件. 写 ...
- mongodb java驱动_Java的MongoDB驱动及读写策略
网上看见一篇博文,详细讲了MongoDB读写策略,将来生产会遇到类似的问题,转来备查. 指定新mongo实例: Mongo m = new Mongo(); Mongo m = new Mongo( ...
最新文章
- 通过C#实现集合类纵览.NET Collections及相关技术
- Debug时如何跳过(不执行)某些代码
- 使用SAP CRM中间件从ERP下载Customer的错误消息:Customer classification does not exist
- 计算机二级vf上机试题,2016年计算机二级《VF》上机题及答案
- 博人眼球的 电子苍蝇
- 20180705 考试记录
- java 垃圾回收机制_Java的垃圾回收机制
- 科研人看过来!中国人工智能学会-华为MindSpore学术奖励基金发布通知
- 查看可执行文件的运行架构_在运行查询之前如何查看结果集的架构
- Python入门基础教程(儿童版) [分享一本入门级教程]
- 方立勋jdbc mysql视频_java视频教程 Java自学视频整理(持续更新中...)
- 关于arctanx的麦克劳林展开式推导
- 基于VUE的SVG动画处理(一)
- 武汉凭什么被列为国家超大城市?
- 教你快速删除或/替换每个视频文件名中的空格、特殊符号
- 基于微信在线考试小程序系统设计与实现 开题报告
- 谷歌 Chrome 浏览器无法翻译网页解决方法
- B.FRIENDit壁虎忍者笔记本支架,铝合金电脑支架,便携折叠、可调节桌面电脑架
- [Linux转载]Linux 操作常用命令
- 关于Axure RP软件的介绍——软件工程实践第二次个人作业
热门文章
- 泛微实物档案数字化管理方案,全面优化组织档案管理
- 解决cannot do positional indexing on Index with these indexers [x] of type str
- CEC2015:动态多目标野狗优化算法求解CEC2015(提供完整MATLAB代码,含GD、IGD、HV和SP评价指标)
- 【异常】Session 0x0 for server null, unexpected error, closing socket connection and attempting reconn
- 【中国银联】数据挖掘笔试+三面面经
- 「图学习推荐系统」最新2022综述
- 前端初学之利用html,css,js实现车牌摇号程序(三)
- ios 弱网 数据丢失_在不丢失数据的情况下将您的iOS设备与新计算机同步
- 支付宝小程序唤起签约并支付(周期扣款)
- Halcon学习(1)初识Halcon HDevelop