[ITK-users] Conversion from cv::mat to writable itk::image
Kabelitz, Gordian
Gordian.Kabelitz at medma.uni-heidelberg.de
Fri Nov 25 10:20:35 EST 2016
Hello,
i started working on a program that uses ITK in combination with OpenCV.
At the moment I encounter the problem with the image conversion from cv::Mat to itk::image.
Using OpenCVImageBridge:: ITKImageToCVMat() can convert ITK images to cv::Mat and works pretty well. That part is similar to [1].
A problem occurs, when I want to convert the images back to ITK images by using OpenCVImageBridge:: CVMatToITKImage ().
Here is a code snippet (similar to [2]):
[...]
cv::Mat outimage = cvImage; // outimage is an image previously converted from itk::image to cv::Mat
typedef itk::OpenCVImageBridge BridgeType;
CVImageType::Pointer outputImage = BridgeType::CVMatToITKImage<CVImageType>(outimage);
typedef itk::CastImageFilter< CVImageType, OutImage > CastFilterType;
CastFilterType::Pointer caster = CastFilterType::New();
caster->SetInput(outputImage);
typedef itk::ImageFileWriter<OutImage> WriterType;
WriterType::Pointer outputWriter = WriterType::New();
outputWriter->SetImageIO(gdcmIO);
outputWriter->SetInput(caster->GetOutput());
outputWriter->SetFileName(argv[2]);
try {
outputWriter->Update();
} catch (itk::ExceptionObject err) {
std::cout << "EXCEPTION CAUGHT!" << std::endl;
std::cout << err << std::endl;
return EXIT_FAILURE;
}
It compiles and runs with only the following error:
Description: itk::ERROR: GDCMImageIO(0000000003B22290): A Floating point buffer was passed but the stored pixel type was not specified. This is currently not supported.
Is there an option to get a writable image? Did I make an obvious mistake?
Is there a website to get more examples working for ITK with Opencv?
Thanks in advance,
Gordian
[1]: https://github.com/InsightSoftwareConsortium/ITK-OpenCV-Bridge-Tutorial
[2]: https://github.com/InsightSoftwareConsortium/ITK-OpenCV-Bridge-Tutorial/blob/master/Exercises/ITKOpenCVBridge/exercise2/BasicVideoFilteringITKOpenCVBridge.cxx
More information about the Insight-users
mailing list