div_imagediv_imageDivImageDivImagediv_image (算子名称)

名称

div_imagediv_imageDivImageDivImagediv_image — Divide two images.

参数签名

div_image(Image1, Image2 : ImageResult : Mult, Add : )

Herror div_image(const Hobject Image1, const Hobject Image2, Hobject* ImageResult, double Mult, double Add)

Herror T_div_image(const Hobject Image1, const Hobject Image2, Hobject* ImageResult, const Htuple Mult, const Htuple Add)

void DivImage(const HObject& Image1, const HObject& Image2, HObject* ImageResult, const HTuple& Mult, const HTuple& Add)

HImage HImage::DivImage(const HImage& Image2, const HTuple& Mult, const HTuple& Add) const

HImage HImage::DivImage(const HImage& Image2, double Mult, double Add) const

static void HOperatorSet.DivImage(HObject image1, HObject image2, out HObject imageResult, HTuple mult, HTuple add)

HImage HImage.DivImage(HImage image2, HTuple mult, HTuple add)

HImage HImage.DivImage(HImage image2, double mult, double add)

def div_image(image_1: HObject, image_2: HObject, mult: Union[int, float], add: Union[int, float]) -> HObject

描述

该算子 div_imagediv_imageDivImageDivImageDivImagediv_image divides two images. The gray values (g1,g2) of the input images (Image1Image1Image1Image1image1image_1) are transformed as follows: g' := g1 / g2 * Mult + Add If an overflow or an underflow occurs the values are clipped. For a division by zero the result is set to zero.

Several images can be processed in one call. In this case both input parameters contain the same number of images which are then processed in pairs. An output image is generated for every pair.

div_imagediv_imageDivImageDivImageDivImagediv_image can be executed on an OpenCL device for byte, int1, int2, uint2, int4, real and complex images. However, since for OpenCL 1.0 only single precision floating point is supported for all devices, and not all rounding modes are supported, the OpenCL implementation can produce slightly different results from the scalar implementation.

运行信息

参数表

Image1Image1Image1Image1image1image_1 (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *allowed for compute devices

Image(s) 1.

Image2Image2Image2Image2image2image_2 (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *allowed for compute devices

Image(s) 2.

ImageResultImageResultImageResultImageResultimageResultimage_result (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte / int1 / int2 / uint2 / int4 / int8 / real / complex)

Result image(s) by the division.

MultMultMultMultmultmult (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Factor for gray range adaption.

Default: 255

Suggested values: 0.1, 0.2, 0.5, 1.0, 2.0, 3.0, 10, 100, 500, 1000

Value range: -1000 ≤ Mult Mult Mult Mult mult mult ≤ 1000

Minimum increment: 0.001

Recommended increment: 1

AddAddAddAddaddadd (input_control)  number HTupleUnion[int, float]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Value for gray range adaption.

Default: 0

Suggested values: 0.0, 128.0, 256.0, 1025

Value range: -1000 ≤ Add Add Add Add add add ≤ 1000

Minimum increment: 0.01

Recommended increment: 1.0

例程 (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

例程 (C)

read_image(&Image1,"fabrik");
disp_image(Image1,WindowHandle);
read_image(&Image2,"monkey");
disp_image(Image2,WindowHandle);
div_image(Image1,Image2,&Result,200.0,10.0);
disp_image(Result,WindowHandle);

例程 (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

例程 (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

例程 (HDevelop)

read_image(Image1,'fabrik')
dev_display (Image1)
read_image(Image2,'monkey')
dev_display (Image2)
div_image (Image1, Image2, Result, 200, 10)
dev_display (Result)

结果

该算子 div_imagediv_imageDivImageDivImageDivImagediv_image 返回值 2 ( H_MSG_TRUE) if the parameters are correct. The behavior in case of empty input (no input images available) is 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>)set_system("no_object_result",<Result>) If necessary an exception is raised.

可替代算子

add_imageadd_imageAddImageAddImageAddImageadd_image, sub_imagesub_imageSubImageSubImageSubImagesub_image, mult_imagemult_imageMultImageMultImageMultImagemult_image

参考其它

add_imageadd_imageAddImageAddImageAddImageadd_image, sub_imagesub_imageSubImageSubImageSubImagesub_image, mult_imagemult_imageMultImageMultImageMultImagemult_image

模块

Foundation