midrange_imagemidrange_imageMidrangeImageMidrangeImagemidrange_image (算子)
名称
midrange_imagemidrange_imageMidrangeImageMidrangeImagemidrange_image — 计算任何掩模内最大值和最小值的平均值。
签名
def midrange_image(image: HObject, mask: HObject, margin: Union[int, float, str]) -> HObject
描述
算子 midrange_imagemidrange_imageMidrangeImageMidrangeImageMidrangeImagemidrange_image forms the average of maximum and
minimum inside the indicated mask in the whole image. Several
border treatments (MarginMarginMarginMarginmarginmargin) can be chosen for filtering:
gray value Pixels outside of the image edges
are assumed to be constant (with the
indicated gray value).
'continued' Continuation of edge pixels.
'cyclic' Cyclic continuation of image edges.
'mirrored' Reflection of pixels at the image edges.
The indicated mask (= region of the mask image) is put over the
image to be filtered in such a way that the center of the mask
touches all pixels once.
有关平滑滤波器概念的说明,请参阅 滤波器 / 平滑 一章的引言。
注意
请注意,若使用域缩减后的图像作为输入,滤波器算子可能会返回意外结果。请参阅 滤波器 一章
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
- 在通道级别上自动并行化。
- 在域级别上自动并行化。
参数
ImageImageImageImageimageimage (输入对象) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (byte / int2 / uint2 / int4 / real)
Image to be filtered.
MaskMaskMaskMaskmaskmask (输入对象) region → objectHRegionHObjectHRegionHobject
Filter mask.
ImageMidrangeImageMidrangeImageMidrangeImageMidrangeimageMidrangeimage_midrange (输出对象) (multichannel-)image(-array) → objectHImageHObjectHImageHobject * (byte / int2 / uint2 / int4 / real)
滤波后的图像。
MarginMarginMarginMarginmarginmargin (输入控制) string → HTupleUnion[int, float, str]HTupleHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Border treatment.
默认值:
'mirrored'
"mirrored"
"mirrored"
"mirrored"
"mirrored"
"mirrored"
建议值:
'mirrored'"mirrored""mirrored""mirrored""mirrored""mirrored", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'continued'"continued""continued""continued""continued""continued", 0, 30, 60, 90, 120, 150, 180, 210, 240, 255
示例(HDevelop)
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)
示例(C)
read_image(&Image,"fabrik");
draw_region(&Region,WindowHandle);
midrange_image(Image,Region,&Midrange,"mirrored");
disp_image(Midrange,WindowHandle);
示例(HDevelop)
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)
示例(HDevelop)
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)
示例(HDevelop)
read_image(Image,'fabrik')
draw_region(Region,WindowHandle)
midrange_image(Image,Region,Midrange,'mirrored')
dev_display(Midrange)
复杂度
For each pixel: O(sqrt(F) * 5) with F = area of MaskMaskMaskMaskmaskmask。
结果
如果参数值正确,算子 midrange_imagemidrange_imageMidrangeImageMidrangeImageMidrangeImagemidrange_image 返回值 2 ( H_MSG_TRUE )。当输入为空(无可用输入图像)时可设置行为通过算子 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>)。如有必要,则抛出异常。
可能的前趋
read_imageread_imageReadImageReadImageReadImageread_image,
draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region,
gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle,
gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1
可能的后继
thresholdthresholdThresholdThresholdThresholdthreshold,
dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing
替代
sigma_imagesigma_imageSigmaImageSigmaImageSigmaImagesigma_image
另见
gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle,
gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1,
gray_erosion_rectgray_erosion_rectGrayErosionRectGrayErosionRectGrayErosionRectgray_erosion_rect,
gray_dilation_rectgray_dilation_rectGrayDilationRectGrayDilationRectGrayDilationRectgray_dilation_rect,
gray_range_rectgray_range_rectGrayRangeRectGrayRangeRectGrayRangeRectgray_range_rect
参考文献
R. Haralick, L. Shapiro; “Computer and Robot Vision”;
Addison-Wesley, 1992, Seite 319
模块
基础