C++ ITK 读写.mha 文件
如题:
#include <iostream> #include <string> #include <itkImage.h> #include <itkImageFileReader.h> #include <itkImageIOFactory.h> #include<itkMetaImageIOFactory.h> #include<itkImageFileWriter.h> int main() { // 注册.mha文件IO //itk::ImageIOBase::RegisterDefaultIOFactory(); itk::MetaImageIOFactory::RegisterOneFactory(); // 定义图像类型 typedef itk::Image<unsigned char, 3> ImageType; // 创建图像读取器 typedef itk::ImageFileReader<ImageType> ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(".\0.mha"); // 读取图像 try { reader->Update(); // 获取图像信息 ImageType::Pointer image = reader->GetOutput(); ImageType::SizeType size = image->GetLargestPossibleRegion().GetSize(); ImageType::SpacingType spacing = image->GetSpacing(); // 输出图像信息 std::cout << "Image size: " << size << std::endl; std::cout << "Image spacing: " << spacing << std::endl; typedef itk::ImageFileWriter<ImageType> FileWriterType; FileWriterType::Pointer w = FileWriterType::New(); w->SetFileName(".\1.mha"); w->SetInput(image); w->Update(); } catch (itk::ExceptionObject& ex) { std::cerr << "Exception caught: " << ex << std::endl; return EXIT_FAILURE; } return EXIT_SUCCESS; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!