[ITK-users] Convert ITK image to cv::Mat image

Tammy Diprima tammy.diprima at stonybrook.edu
Mon Sep 5 18:46:47 EDT 2016


Hi Dženan,


Yes, that makes sense.  Thanks very much for your help.


- Tammy


On 5 September 2016 at 15:07, Dženan Zukić wrote:

> Hi Tammy,
>
> the docs
> <http://docs.opencv.org/2.4/modules/core/doc/basic_structures.html> list
> unsigned short and int, but not unsigned int. I don't know whether this int
> is equal to short or long. But from \ITK-git\Modules\Video\
> BridgeOpenCV\include\itkOpenCVImageBridge.hxx, line 50 these are
> supported cases:
> IPL_DEPTH_8U
> IPL_DEPTH_8S
> IPL_DEPTH_16U
> IPL_DEPTH_16S
> IPL_DEPTH_32F
> IPL_DEPTH_64F
>
> To convert to 16U (which is closest to your 32U), you should use cast
> filter <https://itk.org/Doxygen/html/classitk_1_1CastImageFilter.html> (that's
> your option A).
>
> Regards,
> Dženan
>
> On Mon, Sep 5, 2016 at 1:31 PM, Tammy wrote:
>
>> Greetings!  Hope everyone is having a good day...
>>
>> So... we are passing around a grayscale image... and we're using unsigned
>> int (as opposed to unsigned char):
>> typedef itk::Image<unsigned int, ImageDimension> itkUIntImageType;
>> typedef itkUIntImageType itkLabelImageType;
>>
>> I need to convert it to cv::Mat in order to pass it to another program:
>> cv::Mat resultImage = itk::OpenCVImageBridge::ITKImageToCVMat<
>> itkLabelImageType >( m_objectLabelImage );
>>
>> The problem is, the compiler is telling me "OpenCV does not support the
>> input pixel type".
>>
>> So my question is -- is this true?  Can I only convert from unsigned char?
>> Would a good solution be to:
>> A) Convert from one pixel type to another, or
>> B) Or can I just read in the m_objectLabelImage to an Image::Pointer
>> thing that is of type unsigned char?
>>
>> Thanks!
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20160905/2950eb26/attachment.html>


More information about the Insight-users mailing list