ITK读取图像

 

读取png图像

#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkPNGImageIOFactory.h"
#include "itkJPEGImageIOFactory.h"

int main(int argc, char ** argv) {
    typedef itk::Image<unsigned char, 2> ImageType;
    typedef itk::ImageFileReader<ImageType> ReaderType;
    typedef itk::ImageFileWriter<ImageType> WriterType;
    itk::JPEGImageIOFactory::RegisterOneFactory();

    ReaderType::Pointer reader = ReaderType::New();
    WriterType::Pointer writer = WriterType::New();

    reader->SetFileName("1.jpg");    //要读取的文件名
    writer->SetFileName("2.jpg");    //写入的文件名
    writer->SetInput(reader->GetOutput());
    try {
        writer->Update();
    }
    catch (itk::ExceptionObject &err) {
        std::cerr << "ExceptionObject Caught" << std::endl;
        std::cerr << err << std::endl;
        system("pause");
        return EXIT_FAILURE;
    }
    
    return EXIT_SUCCESS;
}

 

读取png图像

#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkPNGImageIOFactory.h"
 

int main(int argc, char ** argv) {
    typedef itk::Image<unsigned char, 2> ImageType;
    typedef itk::ImageFileReader<ImageType> ReaderType;
    typedef itk::ImageFileWriter<ImageType> WriterType;
    itk::PNGImageIOFactory::RegisterOneFactory();

    ReaderType::Pointer reader = ReaderType::New();
    WriterType::Pointer writer = WriterType::New();

    reader->SetFileName("1.jpg");    //要读取的文件名
    writer->SetFileName("2.jpg");    //写入的文件名
    writer->SetInput(reader->GetOutput());
    try {
        writer->Update();
    }
    catch (itk::ExceptionObject &err) {
        std::cerr << "ExceptionObject Caught" << std::endl;
        std::cerr << err << std::endl;
        system("pause");
        return EXIT_FAILURE;
    }
    
    return EXIT_SUCCESS;
}

相关文章: