判断空图像
gen_empty_obj (TestEmptyObject1)
*创建一个不为空的图像
gen_rectangle1 (Rectangle, 30, 20, 100, 200)
region_to_bin (Rectangle, TestImage, 255, 0, 512, 512)
*方式一:与参考空对象比较是否为空
************************************测试图像为空*****************************
if(TestEmptyObject1==RefEmptyObject)
dev_get_window (WindowHandle)
disp_message (WindowHandle, '空对象', 'window', 20, 20, 'black', 'true')
else
threshold (TestEmptyObject1, Region, 128, 255)
endif
************************************测试图像不为空*****************************
if(TestImage==RefEmptyObject)
dev_get_window (WindowHandle)
disp_message (WindowHandle, '空对象', 'window', 20, 20, 'black', 'true')
else
threshold (TestImage, Region, 128, 255)
endif
*方式二:利用算子比较类似于上述操作符比较
test_equal_obj (TestEmptyObject1, RefEmptyObject, IsEqual)
test_equal_obj (TestImage, RefEmptyObject, IsEqual1)
if(IsEqual1==1)
dev_get_window (WindowHandle)
disp_message (WindowHandle, '空对象', 'window', 20, 20, 'black', 'true')
else
threshold (TestImage, Region, 128, 255)
endif
*方式三:取对象灰度值判断是否为空
get_grayval (TestEmptyObject1, 0, 0, Grayval)
if(Grayval==[])
disp_message (WindowHandle, '空对象', 'window', 20, 20, 'black', 'true')
endif
判断空区域
*判断是否为空对象的方法--image,region,xld
*****************************************************************************
********************************区域判断是否为空******************************
*****************************************************************************
gen_empty_region (RefEmptyregion)
gen_empty_region (TestEmptyregion)
gen_rectangle1 (Rectangle, 30, 20, 100, 200)
*方式一:操作符判断
if(TestEmptyregion==RefEmptyregion)
dev_get_window (WindowHandle)
disp_message (WindowHandle, '空对象', 'window', 20, 20, 'black', 'true')
else
*do something()
endif
*方式二:操作符判断
test_equal_obj (TestEmptyregion, RefEmptyregion, IsEqual)
test_equal_obj (Rectangle, RefEmptyregion, IsEqual1)
*方式三:计算regin面积判断是否为0
area_center (TestEmptyregion, Area, Row, Column)
area_center (Rectangle, Area1, Row1, Column1)
判断空XLD
*判断是否为空对象的方法--image,region,xld
*****************************************************************************
********************************XLD判断是否为空******************************
*****************************************************************************
gen_empty_obj (EmptyObject)
gen_empty_region (EmptyRegion)
gen_contour_region_xld (EmptyRegion, EmptyContour, 'border')
dev_get_window (WindowHandle)
draw_xld (ContOut,WindowHandle , 'true', 'true', 'true', 'true')
*方式一:操作符判断
if(EmptyContour==EmptyObject)
dev_get_window (WindowHandle)
disp_message (WindowHandle, '空对象', 'window', 20, 20, 'black', 'true')
else
*do something()
endif
*方式二:操作符判断
test_equal_obj (EmptyContour, EmptyObject, IsEqual)
test_equal_obj (ContOut, EmptyObject, IsEqual1)
*方式三:计算轮廓长度
length_xld (EmptyContour, Length)
length_xld (ContOut, Length1)
tuple_length (Length, Vaule)
tuple_length (Length1, Vaule1)
判断数组空
*****************************************************************************
********************************Tuple判断是否为空******************************
*****************************************************************************
EmptyTuple:=[]
TestTuple:=[1,2,3]
TestTuple1:=['a','b']
*方式一:判断数组长度
tuple_length (EmptyTuple, Length)
tuple_length (TestTuple, Length1)
tuple_length (TestTuple1, Length2)
*方式二:算子判断
tuple_is_number (EmptyTuple, IsNumber)
tuple_is_number (TestTuple, IsNumber1)
tuple_is_number (TestTuple1, IsNumber2)
if(|IsNumber|==0)
*数组为空
endif