clip_region算子
* Init
dev_update_off ()
*读取图片 read_image (Image, 'fabrik') *区域增长法
regiongrowing (Image, Regions, 1, 1, 3, 100)
*统计区域个数 count_obj (Regions, NumberOfOriginalRegions) * * Clip region in two ways get_system ('store_empty_region', Information) set_system ('store_empty_region', 'true') * After clipping, the now empty regions are still stored
*分割出对应范围内的区域数量,因为前面设置了保存空区域的设置,所以是包含了空区域的 clip_region (Regions, RegionClippedWithEmptyRegions, 100, 100, 455, 455) count_obj (RegionClippedWithEmptyRegions, NumberOfClippedRegionsWithEmptyRegions) set_system ('store_empty_region', 'false') * After clipping, the now empty regions are rejected
*这里设置false后分割的对应范围内的区域数量 clip_region (Regions, RegionClipped, 100, 100, 455, 455) count_obj (RegionClipped, NumberOfClippedRegionsWithoutEmptyRegions) * * Display results dev_close_window ()
*获取图片大小 get_image_size (Image, Width, Height) dev_open_window (0, 0, Width, Height, 'black', WindowHandle) set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
*展示原图片 dev_display (Image) dev_set_colored (12) dev_display (Regions) disp_message (WindowHandle, NumberOfOriginalRegions + ' original regions', 'window', 12, 12, 'black', 'true') disp_continue_message (WindowHandle, 'black', 'true') stop () dev_display (Image) * dev_set_color ('white') * dev_display (Regions) dev_set_colored (12)
*展示分割出来部分的区域 dev_display (RegionClipped) disp_message (WindowHandle, NumberOfClippedRegionsWithoutEmptyRegions + ' clipped regions', 'image', 110, 110, 'blue', 'true') set_system ('store_empty_region', Information) dev_update_on ()
========================================================================
regiongrowing (Image,Outregion: Row,Col,Tolerance,MinSize)
中文名称:区域增长法获取图像分割区域(region)
算子的前两个参数 分别为输入图像 和 分割后的输出区域;
Row 和Col 定义了在图像内相邻移动的模板的长和宽度大小;
Tolerance 定义了两个相邻模板中心灰度值差 需要所要满足的 条件(即判断两个区域是否为同一区域的灰度差异最小值),具体如下:
|g1-g2|<Tolerance
即:两个相邻模板中心灰度值的差的绝对值小于 给定的Tolerance的值 则会认为这两个区域属于同一个区域,否则不然
MinSize 作为一个限制,限定了用上面方法分割出的区域最终不能小于MinSize 给定的值,否则不作为区域输出。
clip_region(Region : RegionClipped : Row1, Column1, Row2, Column2 : )
函数将Region 内的区域剪切到Row1, Column1, Row2, Column2两点坐标点组成的矩形区域中。
函数会比将gen_rectangle1生成区域传递给函数intersection,在效率上来得高效。
上善若水,水善利万物而不争,处众人之所恶,故几于道。
浙公网安备 33010602011771号