当前位置:网站首页>halcon知识:区域专题【07】
halcon知识:区域专题【07】
2022-06-30 15:44:00 【无水先生】
一、提要
本篇与halcon之区域:多种区域(Region)特征(6)属于同一篇博文,本篇将继续矩阵的算子,包括矩特征。海明距离等。
二、区域算子
2.1 regiongrowing是将区域合并的算法
regiongrowing: 将图像分割成相同强度的区域 --- 光栅化成大小为 Row * Column 的矩形。为了判断两个相邻的矩形是否属于同一个区域,只使用它们的中心点的灰度值。如果灰度值差小于或等于 Tolerance,则将矩形合并为一个区域。
如果 g_{1} 和 g_{2} 是要检查的两个灰度值,则在以下情况下将它们合并到同一区域:
1) | g_{1} - g_{2} | < torlerance
2) | g_{1} - g_{2} | < torlerance & | g_{1} - g_{2} | < 127
3) 255 - | g_{1} - g_{2} | < torlerance & 127 < | g_{1} - g_{2} |
2.2 expand_region充实区域间隙
expand_region 填充输入区域之间的间隙,这是由于在分割算子中抑制小区域而导致的,例如,(模式“图像”)或分离重叠区域(模式“区域”)。这两种用途都源于地区的扩大。操作员通过向一个区域添加或删除一个像素宽的“条”来工作。
扩展仅发生在指定为非“禁止”的区域(参数 ForbiddenArea)。迭代次数由参数Iterations 确定。通过传递“最大”,expand_region 迭代直到收敛,即,直到不再发生变化。通过为此参数传递 0,将返回所有非重叠区域。两种操作模式(“图像”和“区域”)在以下方面有所不同:
'Image'
输入区域被迭代扩展,直到它们接触到另一个区域或图像边界。在这种情况下,图像边界被定义为从 (0,0) 到 (row_max,col_max) 的矩形。这里,(row_max,col_max) 对应于所有输入区域(即在 Regions 和 ForbiddenArea 中传递的所有区域)的最小周围矩形的右下角。因为 expand_region 同时处理所有区域,所以区域之间的间隙均匀分布到所有区域。通过将重叠区域平均分配到两个区域来分割重叠区域。'region'
不执行输入区域的扩展。相反,通过将重叠区域均匀地分配到各个区域来仅分割重叠区域。因为与原始区域的交集是在输出区域的收缩操作间隙之后计算的,即分割不完整。这可以通过第二次调用 expand_region 来防止,将原始区域的补集作为“禁止区域”。
2.3 get_region_index
功能:包括给定像素在内的所有的区域的索引。就是给定一个坐标,该坐标落到哪个区域内。
- get_region_index(Regions : : Row, Column : Index)
2.4 get region_thickness
功能:查询主轴附近区域的宽度(厚度)。
- get_region_thickness(Region : : : Thickness, Histogramm)
运算符 get_region_thickness 计算截面中每个像素沿主轴(参见 elliptic_axis)的区域厚度。主轴上某一点处的厚度定义为轮廓与主轴上铅垂在相应点上相距最远的交点之间的距离。此外,运算符 get_region_thickness 返回区域厚度的直方图。直方图的长度对应于观察区域中出现的最大厚度。
read_image(Image, 'fabrik')
get_image_size(Image, Width, Height)
auto_threshold(Image, Regions, 3 )
dev_open_window(0, 0, Width, Height, 'black', WindowHandle)
select_obj(Regions, RegSelect, 1)
get_region_thickness(RegSelect,Thickness, Histogramm)
只能通过一个区域。如果该区域有多个连接组件,则只研究第一个。所有其他组件都被忽略。
如上图中RegSelect是这个样子。而得到的Thickness只是第一个单独region块的扫描线宽度的列举。
2.5 hamming_distance
- hamming_distance(Regions1, Regions2 : : : Distance,
功能:两个区域间的汉明距离。
算子 hamming_distance 返回两个区域之间的汉明距离,即不同区域的像素数(距离),即一个区域包含但另一个区域不包含的像素数:
Distance:距离
Similarity:相似系数
)
2.6 hamming_distance_norm
- hamming_distance_norm(Regions1, Regions2 : : Norm : Distance, Similarity)
功能:两个区域间的归一化汉明距离。
运算符 hamming_distance_norm 返回两个区域之间的汉明距离,即不同区域的像素数(距离)。在计算差异之前,Regions1 中的区域被归一化到 Regions2 中的区域。结果是一个区域中包含但另一区域中不包含的像素数:
2.7 hamming_change_region
hamming_change_region (Holes, OutputRegion, Width, Height, Error)
hamming_change_region 更改由 Width 和 Height 给定的图像左上部分的区域,使得生成的区域与输入区域的汉明距离为 Distance。这是通过从输入区域添加或删除距离点来完成的。
* Remove noise from a region
*
read_image (Caltab, 'caltab')
get_image_size (Caltab, Width, Height)
threshold (Caltab, Region, 0, 120)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions1, 'convexity', 'and', 0.9, 1)
select_shape (SelectedRegions1, SelectedRegions2, 'area', 'and', 200, 1000)
union1 (SelectedRegions2, Holes)
for Error := 1 to 10000 by 1000
* Change the region with the 'Error' hamming distance
hamming_change_region (Holes, OutputRegion, Width, Height, Error)
dev_clear_window ()
dev_set_color ('red')
dev_display (OutputRegion)
hamming_distance (Holes, OutputRegion, Distance1, Similarity1)
* Remove noise
remove_noise_region (OutputRegion, NoiseRed, 'n_4')
hamming_distance (Holes, NoiseRed, Distance2, Similarity2)
dev_set_color ('green')
dev_display (NoiseRed)
stop ()
endfor
2.8 inner_circle
功能:一个区域内部最大的圆周。
- inner_circle(Regions : : : Row, Column, Radius)
获得区域的内部最大内接圆。
2.9 inner_rectangle1
功能:一个区域内部最大的矩形。
- inner_rectangle1(Regions : : : Row1, Column1, Row2, Column2)
区域内部最大矩形,该矩形边平行于窗口。
2.10 moments_region_2nd
功能:区域的矩特性。
- moments_region_2nd(Regions : : : M11, M20, M02, Ia, Ib)
moment_region_2nd 计算 Regions 中输入区域的几何矩 M11、M20 和 M02。此外,输入区域的长轴和短轴在 Ia 和 Ib 中计算并返回。协方差矩阵由下式给出:
2 阶行相关矩在 M20 中返回,2 阶列相关矩在 M02 中返回。矩 M11 表示区域点的行和列坐标之间的协方差。
r0和c0是区域 R 的重心坐标。那么力矩定义为:
2.11 moments_region_2nd_invar
功能:区域的某矩特性。
- moments_region_2nd_invar(Regions : : : M11, M20, M02)
运算符 moment_region_2nd_invar 计算轴的缩放力矩 (M20, M02) 和通过平行于坐标轴 (M11) 的中心的轴的惯性系数。
Z0和S0是区域 R 的中心与区域 F 的坐标。Mij 然后矩定义为:
其中Z和S是区域所有点的坐标。
2.12 moments_region_2nd_rel_invar
功能:计算相关矩的参数。
- moments_region_2nd_rel_invar(Regions : : : PHI1, PHI2)
运算符 moment_region_2nd_rel_invar 计算缩放的相对矩 (PHI1, PHI2)。
矩 PHI1 和 PHI2 定义为:
如果传递了多个区域,则结果存储在元组中,元组中值的索引对应于输入中区域的索引。
在空白区域的情况下,如果没有设置其他行为,则所有参数的值都为 0.0(参见 set_system)。
边栏推荐
- 今晚19:00知识赋能第2期直播丨OpenHarmony智能家居项目之控制面板界面设计
- ArcMap operation series: 80 plane to latitude and longitude 84
- Modifying MySQL password under Linux: error 1396 (HY000): Operation alter user failed for 'root' @ 'localhost‘
- MySQL proxy middleware atlas installation and configuration
- Container common commands
- 深入分析GadgetInspector核心代码
- Asp.NetCore利用缓存使用AOP方式防止重复提交
- String common API
- 招标公告:2022年台州联通Oracle一体机和数据库维保服务项目
- MySQL transaction / lock / log summary
猜你喜欢
Go-Micro安装
备战数学建模34-BP神经网络预测2
[unity ugui] scrollrect dynamically scales the grid size and automatically locates the middle grid
Simulation of two-color ball system to judge the winning situation
There are so many kinds of coupons. First distinguish them clearly and then collect the wool!
Policy Center > Misrepresentation
快照和备份
边缘计算平台如何助力物联网发展
Modifying MySQL password under Linux: error 1396 (HY000): Operation alter user failed for 'root' @ 'localhost‘
【算法篇】四种链表总结完毕,顺手刷了两道面试题
随机推荐
What is the difference between real-time rendering and pre rendering
Bidding announcement: Tianjin housing provident fund management center database all-in-one machine and database software project (budget: 6.45 million)
Lecun points out the direction of next generation AI: autonomous machine intelligence
Policy Center > Device and Network Abuse
Container common commands
Compulsory national standard for electronic cigarette GB 41700-2022 issued and implemented on October 1, 2022
Swagger's asp Net core web API help page
Create statement for Oracle export view
云技能提升好伙伴,亚马逊云师兄今天正式营业
Policy Center > Malware > Malware
从第三次技术革命看企业应用三大开发趋势
How cloudxr promotes the future development of XR
构建适合组织的云原生可观测性能力
MySQL master-slave configuration
CVPR 2022丨特斯联AI提出:基于图采样深度度量学习的可泛化行人重识别
Generating verification code with sring
I implement "stack" with C I
ASP. Net core Middleware
技不压身,快速入门ETH智能合约开发,带你进入ETH世界
Additional: (not written yet, don't look at ~ ~ ~) corsfilter filter;