get_region_contour算子

* Access the contour of an object
* 
dev_close_window ()
*读取图片 read_image (Image,
'mreut') dev_open_window (0, 0, 512, 512, 'black', WindowID) * Select gray values lying within an interval
*二值化,取出180-255的区域 threshold (Image, Bright,
180, 255)
*把区域连接成区域数组 connection (Bright, ConnectedRegions)
* Select regions of a given shape
*获取最大的区域 select_shape_std (ConnectedRegions, MaxArea,
'max_area', 0)
*获取区域轮廓的点坐标 get_region_contour (MaxArea, Rows, Columns) Count :
= [] dev_display (Image) dev_set_color ('red') dev_display (MaxArea) dev_update_var ('off') dev_update_time ('off') dev_update_pc ('off')
*数组先清零
for r := 0 to 511 by 1 Count[r] := 0 endfor count_seconds (Seconds1)
*利用桶排序的方式获取每个灰度值的个数
for i := 0 to |Rows| - 1 by 1 Count[Rows[i]] := Count[Rows[i]] + 1 endfor count_seconds (Seconds2) Time := Seconds2 - Seconds1 dev_set_color ('blue')
*把生成的行的点数绘制成类似直方图的图片
for r := 0 to 511 by 1 disp_line (WindowID, r, 500 - Count[r], r, 500) endfor

=======================================

get_region_contour返回一个区域的轮廓。
轮廓线用于描述区域边界的行(Rows)和列(Columns)坐标。
轮廓线位于这个区域上。
它从最小的行号开始。
在该行中列索引最大的像素处。
旋转方向是顺时针的。
轮廓线的第一个像素与最后一个像素相同。
该区域的孔被忽略。
操作符get_region_contour以元组的形式返回坐标。
空区域作为空元组传递。

posted @ 2020-08-13 11:09  白菜小腾  阅读(982)  评论(0)    收藏  举报