1. 程式人生 > >ITK Could not create IO object for writing file

ITK Could not create IO object for writing file

開發十年,就只剩下這套架構體系了! >>>   

在用itk的ImageFileWriter讀寫檔案時,有時候會出現有的檔案格式無法讀入或者輸出的問題,是因為未引用對應影象格式的IO庫。

比如將itk格式的檔案輸出為mhd檔案時,程式首先要引用Meta影象格式的IO庫,比如ITKIOMeta-4.10.lib。不僅如此,僅僅引用庫還不能正確輸出,在程式中還要呼叫註冊函式itk::MetaImageIOFactory::RegisterOneFactory()後才能正確輸出檔案。

itk::MetaImageIOFactory::RegisterOneFactory();
typedef itk::ImageFileWriter<OutputImageType> WriterType;
WriterType::Pointer writer = WriterType::New();
writer->SetFileName("./image.mhd");
writer->SetInput(filter->GetOutput());
writer->Update();

RegisterOneFactory()在讀寫檔案前只需要呼叫一次即