본문 바로가기
프로그래밍/ITK

Reading and Writing RGB Images

by 이재만박사 2016. 7. 2.

- 이 부분에 대한 소스 코드는 다음 파일에서 찾을 수 있다

 - Examples/IO/RGBImageReadWrite.cxx

 

- RGB 이미지는 보통 극저온 부분, 광학 현미경 그리고 내시경으로부터 얻어진 데이터를 나타내는 데 보통 사용된다

- 이 예제는 파일로부터 그리고 파일에 RGB 색상 이미지를 읽고 쓰는 방법을 설명한다

- 이것은 다음과 같이 헤더를 추가한다

 

#include "itkRGBPixel.h"

#include "itkImage.h"

#include "itkImageFileReader.h"

#include "itkImageFileWriter.h"

 

- itk::RGBPixel 클래스는 빨강, 녹색 그리고 파랑 요소 중 각각 하나를 나타내기 위해 사용된 타입에 대해 템플릿된다

- RGB 이미지 클래스의 전형적인 인스턴스화는 다음과 같이 될 수 있다

 

typedef itk::RGBPixel< unsigned char > PixelType;

typedef itk::Image< PixelType, 2 >         ImageType;

 

- 이미지 타입은 reader와 writer를 인스턴스화 하기 위해 템플릿 파라미터로 사용된다

 

typedef itk::ImageFileReader< ImageType >   ReaderType;

typedef itk::ImageFileWriter< ImageType >     WriterType;

 

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

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

 

- 입력과 출력 파일의 파일 이름은 각각 reader와 writer에 제공되어야 한다

 

reader->SetFileName( inputFileName );

writer->SetFileName( outputFileName );

 

- 마지막으로, 파이프 라인의 실행은 writer에서 Update() 메서드를 호출함으로써 실행될 수 있다

 

writer->Update();

 

- RGB 이미지에 대해 지정된 이 코드에 아무것도 없다는 PixelType의 선언으로부터 떨어져 있다는 것에 주목해야 할 수도 있다

- 색상 이미지를 지원하는 것에 필요한 모든 액션은 itk::ImageIO 객체에서 내부적으로 구현된다

 

댓글