(一) 开多个窗口,显示不同的内容
这种需要一般来讲主要用于演示或者调试的需要。
* Image Acquisition 01: Code generated by Image Acquisition 01 list_files ('D:/资料/', ['files','follow_links'], ImageFiles) tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles) read_image (Image, ImageFiles[0]) get_image_size(Image, Width, Height) dev_close_window() dev_open_window(0, 0, Height*2.4, Width*2.4, 'black', WindowHandle1) dev_open_window_fit_size(0, 750, Height*2.4, Width*2.4, -1, -1, WindowHandle2) list_files ('D:/资料/', ['files','follow_links'], ImageFiles) tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_case'], ImageFiles) for Index := 0 to |ImageFiles| - 1 by 1 read_image (Image, ImageFiles[Index]) shock_filter(Image, SharpenedImage, 0.5, 10, 'canny', 3) sobel_amp(SharpenedImage, EdgeAmplitude, 'sum_abs', 3) hysteresis_threshold(EdgeAmplitude, RegionHysteresis, 30, 60, 210) fill_up(RegionHysteresis, RegionFillUp) dev_set_window(WindowHandle1) dev_display(Image) dev_set_window(WindowHandle2) dev_display(RegionFillUp) stop() endfor
这样就可以方便的两个窗口观察本体与特征了。
dev_open_window_fit_size算子的解释如下:
*打开具有给定最小和最大范围的新图形窗口,以便保留给定图像大小的宽高比 *WidthLimit设置为-1,则使用以下默认值:[500,800]。 *HeightLimit设置为-1,则使用以下默认值:[400,600]。 *如果根据窗口宽高限制无法创建窗口,则忽略最小窗口大小的限制 dev_open_window_fit_size (0, 0, Width, Height, -1, -1, WindowHandle2) 如果取值-1,-1相当于 dev_open_window_fit_size (0, 0, Width, Height,[500,800],[400,600], WindowHandle2)
(二) region的几个算子
region排序
sort_region(region, SortedRegions, 'first_point', 'true', 'row')
第三个参数可以填
‘first_point’:按照第一个点排序:一个区域的第一行的最前面的点
‘last_point’:按照最后一个点排序:一个区域的最后一行最后一列的那个点
‘upper_left’:外接矩形的左上角
‘upper_right’:外接矩形的右上角
‘lower_left’:外接矩形的左下角
‘lower_right’:外接矩形的右下角
填写上述参数,但不管怎样区域的选择,总是无法满足从左到右,从上到下的顺序,这时可以填写 ‘character’ 解决。
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

