convert_image_typeconvert_image_typeConvertImageTypeConvertImageType (Operator)


convert_image_typeconvert_image_typeConvertImageTypeConvertImageType — Convert the type of an image.


convert_image_type(Image : ImageConverted : NewType : )

Herror convert_image_type(const Hobject Image, Hobject* ImageConverted, const char* NewType)

Herror T_convert_image_type(const Hobject Image, Hobject* ImageConverted, const Htuple NewType)

void ConvertImageType(const HObject& Image, HObject* ImageConverted, const HTuple& NewType)

HImage HImage::ConvertImageType(const HString& NewType) const

HImage HImage::ConvertImageType(const char* NewType) const

HImage HImage::ConvertImageType(const wchar_t* NewType) const   (Windows only)

static void HOperatorSet.ConvertImageType(HObject image, out HObject imageConverted, HTuple newType)

HImage HImage.ConvertImageType(string newType)


convert_image_typeconvert_image_typeConvertImageTypeConvertImageTypeConvertImageType converts images of an arbitrary type into an arbitrary new image type. If the conversion is done from a larger to a smaller gray value range (e.g., from 'int4' to 'byte'), too large or too small values are simply “clipped”. If the result images are of type 'direction', gray values that are not in the value range that is valid for 'direction' images are set to the value 255 to mark them as invalid. It is therefore advisable to adapt the range of gray values by calling scale_imagescale_imageScaleImageScaleImageScaleImage before calling this operator. For images of type complex, only the real part is converted. The imaginary part is ignored. This facilitates an efficient conversion of images that have been transformed back from the frequency domain. Such images always have an imaginary part of 0.


The conversion to the 'int8' image format is only available on 64 bit systems! If the source and destination image type are identical, no new image matrix is allocated.

Execution Information


ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *allowed for compute devices

Image whose image type is to be changed.

ImageConvertedImageConvertedImageConvertedImageConvertedimageConverted (output_object)  (multichannel-)image(-array) objectHImageHImageHobject * (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *allowed for compute devices

Converted image.

NewTypeNewTypeNewTypeNewTypenewType (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Desired image type (i.e., type of the gray values).

Default value: 'byte' "byte" "byte" "byte" "byte"

List of values: 'byte'"byte""byte""byte""byte", 'complex'"complex""complex""complex""complex", 'cyclic'"cyclic""cyclic""cyclic""cyclic", 'direction'"direction""direction""direction""direction", 'int1'"int1""int1""int1""int1", 'int2'"int2""int2""int2""int2", 'int4'"int4""int4""int4""int4", 'int8'"int8""int8""int8""int8", 'real'"real""real""real""real", 'uint2'"uint2""uint2""uint2""uint2"

List of values (for compute devices): 'int1'"int1""int1""int1""int1", 'int2'"int2""int2""int2""int2", 'uint2'"uint2""uint2""uint2""uint2", 'int4'"int4""int4""int4""int4", 'byte'"byte""byte""byte""byte", 'real'"real""real""real""real", 'direction'"direction""direction""direction""direction", 'cyclic'"cyclic""cyclic""cyclic""cyclic", 'complex'"complex""complex""complex""complex"


convert_image_typeconvert_image_typeConvertImageTypeConvertImageTypeConvertImageType returns 2 (H_MSG_TRUE) if all parameters are correct. If the input is empty the behavior can be set via set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors


See also

scale_imagescale_imageScaleImageScaleImageScaleImage, abs_imageabs_imageAbsImageAbsImageAbsImage