threshold(image,Regions,25,121) *对图像进行二值化处理; 对图像进行二值化分割操作,将需要的图像区域通过灰度区间范围的方式进行分割操作,其分割对应的值范围为25-121
select_shape (ConnectedRegions1, SelectedRegions2, ‘area’, ‘and’, 8077.4, 50000.2) *选取像素值在8077.4-50000.2的面积的区域.
area_center(SelectedRegions,Area,Rows,Columns) *获取孔的面积,中心坐标
get_image_size(Image,Width,Height) *获取图像的尺寸
dev_resize_window_fit_image(image,0,0,Width,Height) *按图像的大小来刷新图像窗体大小
dev_resize_window_fit_size(0,0,Width2,Height2,Width,Height) *图像的比列放大俩倍
set_part(WindowHandle,Row1,Column1,Row2,Column2) *放大图像
dev_display(Image) *显示图像
dev_open_window(0,0,Width,Height,‘black’,WindowHandle) *新建一个窗体
connection (RegionDynThresh, ConnectedRegions) *区域连通,可将阈值分割的不相连的区域分割成单个区域,分开,获得单个联通域,
dev_set_colored(12) *设置同时能够显示12种颜色
channels_to_image(Image,Image) *把单通道(二值化)转成三通道(RGB)
access_channel(Image,Channel,Index) *获取一个多通道图像的一个通道
/* 错误异常检测 读取一个不存在的图像
try
read_image(Image,‘may_be_not_available’)
catch(Exception) //异常处理
if(Exception[0]=5200) //判断错误代码是否为5200
dev_get_exception_date(Exception,‘error_msg’,ErrMsg) //找出错误信息
set_tposition(3600,24,12) //设置文本光标的位置
write_string(3600,ErrMsg) //显示错误信息
return()
else
throw{[Exception,‘unknown exception in myproc’]}
endif
endtry
模板如下
…
try
*可以遇见的错误内容
…
catch(Exception)
*获取错误代码
ErroCode :=Exception[0]
*对错误产生回应
endtry
*程序继续
… */
cout_obj(Image,Number) *统计图形目标