bottom_hatbottom_hatBottomHatBottomHatbottom_hat (算子名称)

名称

bottom_hatbottom_hatBottomHatBottomHatbottom_hat — Compute the bottom hat of regions.

参数签名

bottom_hat(区域, StructElement : RegionBottomHat : : )

Herror bottom_hat(const Hobject 区域, const Hobject StructElement, Hobject* RegionBottomHat)

Herror T_bottom_hat(const Hobject 区域, const Hobject StructElement, Hobject* RegionBottomHat)

void BottomHat(const HObject& 区域, const HObject& StructElement, HObject* RegionBottomHat)

HRegion HRegion::BottomHat(const HRegion& StructElement) const

static void HOperatorSet.BottomHat(HObject 区域, HObject structElement, out HObject regionBottomHat)

HRegion HRegion.BottomHat(HRegion structElement)

def bottom_hat(区域: HObject, struct_element: HObject) -> HObject

描述

bottom_hatbottom_hatBottomHatBottomHatBottomHatbottom_hat computes the closingclosingClosingClosingClosingclosing of 区域区域区域区域区域区域 with StructElementStructElementStructElementStructElementstructElementstruct_element. The difference between the result of the closing and the original region is called the bottom hat. In contrast to closingclosingClosingClosingClosingclosing, which merges regions under certain circumstances, bottom_hatbottom_hatBottomHatBottomHatBottomHatbottom_hat computes the regions generated by such a merge.

The position of StructElementStructElementStructElementStructElementstructElementstruct_element is meaningless, since a closing operation is invariant with respect to the choice of the reference point.

Structuring elements (StructElementStructElementStructElementStructElementstructElementstruct_element) can be generated with operators such as gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, gen_region_polygongen_region_polygonGenRegionPolygonGenRegionPolygonGenRegionPolygongen_region_polygon, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPointsgen_region_points, etc.

运行信息

参数表

区域区域区域区域区域区域 (input_object)  region(-array) objectHRegionHObjectHRegionHobject

Regions to be processed.

StructElementStructElementStructElementStructElementstructElementstruct_element (input_object)  region objectHRegionHObjectHRegionHobject

Structuring element (position independent).

RegionBottomHatRegionBottomHatRegionBottomHatRegionBottomHatregionBottomHatregion_bottom_hat (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Result of the bottom hat operator.

例程 (HDevelop)

read_image (Image, 'brake_disk/brake_disk_bike_01')
threshold (Image, Regions, 128, 255)
gen_circle (Circle, 40, 40, 20)
bottom_hat (Regions, Circle, RegionBottomHat)

例程 (C)

threshold(Image,&Regions,128.0,255.0);
gen_circle(&Circle,128.0,128.0,16.0);
bottom_hat(Regions,Circle,&RegionBottomHat);
set_color(WindowHandle,"red");
disp_region(Regions,WindowHandle);
set_color(WindowHandle,"green");
disp_region(RegionBottomHat,WindowHandle);

例程 (HDevelop)

read_image (Image, 'brake_disk/brake_disk_bike_01')
threshold (Image, Regions, 128, 255)
gen_circle (Circle, 40, 40, 20)
bottom_hat (Regions, Circle, RegionBottomHat)

例程 (HDevelop)

read_image (Image, 'brake_disk/brake_disk_bike_01')
threshold (Image, Regions, 128, 255)
gen_circle (Circle, 40, 40, 20)
bottom_hat (Regions, Circle, RegionBottomHat)

例程 (HDevelop)

read_image (Image, 'brake_disk/brake_disk_bike_01')
threshold (Image, Regions, 128, 255)
gen_circle (Circle, 40, 40, 20)
bottom_hat (Regions, Circle, RegionBottomHat)

结果

bottom_hatbottom_hatBottomHatBottomHatBottomHatbottom_hat returns 2 ( H_MSG_TRUE) if all parameters are correct. The behavior in case of empty or no input region can be set via:

Otherwise, an exception is raised.

可能的前置算子

thresholdthresholdThresholdThresholdThresholdthreshold, regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowingregiongrowing, connectionconnectionConnectionConnectionConnectionconnection, union1union1Union1Union1Union1union1, watershedswatershedsWatershedsWatershedsWatershedswatersheds, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNormclass_ndim_norm, gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle, gen_ellipsegen_ellipseGenEllipseGenEllipseGenEllipsegen_ellipse, gen_rectangle1gen_rectangle1GenRectangle1GenRectangle1GenRectangle1gen_rectangle1, gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2, draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region, gen_region_pointsgen_region_pointsGenRegionPointsGenRegionPointsGenRegionPointsgen_region_points, gen_region_polygon_filledgen_region_polygon_filledGenRegionPolygonFilledGenRegionPolygonFilledGenRegionPolygonFilledgen_region_polygon_filled

可能的后置算子

reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain, select_shapeselect_shapeSelectShapeSelectShapeSelectShapeselect_shape, area_centerarea_centerAreaCenterAreaCenterAreaCenterarea_center, connectionconnectionConnectionConnectionConnectionconnection

可替代算子

closingclosingClosingClosingClosingclosing, differencedifferenceDifferenceDifferenceDifferencedifference

参考其它

top_hattop_hatTopHatTopHatTopHattop_hat, gray_bothatgray_bothatGrayBothatGrayBothatGrayBothatgray_bothat, openingopeningOpeningOpeningOpeningopening

模块

Foundation