目录:
1. 反选( complement() )
2. 补集( difference() 、symm_difference() )
3. 合并 之 union1() 函数( 对所有连通域进行合并 )
4. 合并 之 union2() 函数( 对两个连通域进行合并 )
5. 交集( insection() )
1. 反选( complement() )
* 打开一个 ID 为 WindowHandle 的图像窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
* 创建一个半径为 131.727,圆心为(224.5,250.5) 大小的圆
gen_circle (Cricle1, 224.5, 250.5, 131.727)
* 清除窗口里面的内容
dev_clear_window ()
* 反选
complement (Cricle1, RegionComplement)

2. 补集( difference() 、symm_difference() )
*获取 区域1 的补集
* 打开一个 ID 为 WindowHandle 的图像窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
* 创建一个半径为 69.7711,圆心为(122.5,126.5) 大小的圆
gen_circle (Cricle1, 122.5, 126.5, 69.7711)
gen_circle (Cricle2, 184.5, 179.5, 73.9256)
* 补集
difference (Cricle1, Cricle2, RegionDifference)
* 清除窗口里面的内容
dev_clear_window ()
* 显示 RegionDifference
dev_display (RegionDifference)

* 获取两区域合并后的区域与两区域交集的补集
* 打开一个 ID 为 WindowHandle 的图像窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
* 创建一个半径为 89.3588,圆心为(114.5,127.5) 大小的圆
gen_circle (Cricle1, 114.5, 127.5, 89.3588)
gen_circle (Cricle2, 163.5, 171.5, 94.8472)
* 计算两个区域的对称差
symm_difference(Cricle1, Cricle2 ,RegionDifference)
* 清除窗口里面的内容
dev_clear_window ()
* 显示 RegionDifference
dev_display (RegionDifference)

3. 合并 之 union1() 函数
* 合并 之 union1 (所有区域合并)
* 打开一个 ID 为 WindowHandle 的图像窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
read_image (Image, 'fabrik')
* 设置窗口中输出对象颜色的数目; 12 代表输出对象有 12 种颜色
dev_set_colored (12)
* 二值化; 提取出图片中像素值在128-255的区域
threshold (Image, Region, 128, 255)
* 用来计算输入区域中的所有连通域。对应的反向操作是union1。
* 输入:一个region;
* 输出:所有连通域的组合vector;
* 返回的连通域的最大数量可通过 set_system('max_connection',<Num>) 进行设置,默认 0 则返回所有连通域数目。
connection (Region, ConnectedRegions)
* 将上述独立的区域都合并为一个新的区域;即将窗口上的所有区域合并
union1 (ConnectedRegions, RegionUnion)
* 清除窗口里面的内容
dev_clear_window ()
dev_display (RegionUnion)


4. 合并 之 union2() 函数(两个区域合并)
* 合并 之 union2 (两个区域合并)
* 打开一个 ID 为 WindowHandle 的图像窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
* 设置窗口中输出对象颜色的数目; 12 代表输出对象有 12 种颜色
dev_set_colored (12)
gen_circle (Circle1, 101.5, 102.5, 63.2456)
gen_circle (Circle2, 295.5, 285.5, 75.9276)
union2 (Circle1, Circle2, RegionUnion)
dev_clear_window ()
dev_display (RegionUnion)

4. 交集( insection() )
* 求两个相交图像之间的交集
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
gen_circle (Cricle1, 114.5, 127.5, 89.3588)
gen_circle (Cricle2, 163.5, 171.5, 94.8472)
* 计算两个区域相交的地方
intersection (Cricle1, Cricle2, RegionIntersection)
dev_clear_window ()
dev_display (RegionIntersection)

参考文献:
【1】https://blog.youkuaiyun.com/cs5664798595/article/details/78280103
【2】重码网视频系列