ITK 라이브러리를 사용하여 이미지를 등록하고 있습니다. OpenCV로 원본 이미지를 읽은 다음 ITKImage로 변환합니다. 등록 후 결과를 CVMat로 변환하고 imwrite를 사용하여 저장합니다.ITKImageToCVMat가 흰색 이미지를 반환합니다.
그러나 ITKOmageToCVMat는 항상 흰색 이미지 (imshow로 표시)를 제공하며 imwrite 이후에는 결과가 폴더에 저장되지 않습니다. 하니 ....
cv::Mat img1 = imread(argv[1], IMREAD_GRAYSCALE);
cv::Mat img2 = imread(argv[2], IMREAD_GRAYSCALE);
typedef float PixelType;
const unsigned int Dimension = 2;
typedef itk::Image< PixelType, Dimension > FixedImageType;
typedef itk::Image< PixelType, Dimension > MovingImageType;
typedef itk::OpenCVImageBridge BridgeType;
FixedImageType::Pointer fixedImage = BridgeType::CVMatToITKImage<FixedImageType>(img1);
MovingImageType::Pointer movingImage = BridgeType::CVMatToITKImage<MovingImageType>(img2);
Mat img3 = itk::OpenCVImageBridge::ITKImageToCVMat<MovingImageType>(movingImage);
display("moving image", img3);
string filename3 = "img3";
imwrite(filename3, img3);
심지어 등록하지 않고, 그냥 작동하지 않습니다, 다시 변환 한 후, ITKImage에 CVMat에서 이미지를 변환 : 그 다음은
내 코드입니다 ... 너무 이상하다 어떤 생각이있어? 고마워요 :)