设为首页收藏本站
授权版本:2024_07
开启左侧

倾斜二维码投影识别

[复制链接]
Princess 发表于 2023-7-16 11:28:10 | 显示全部楼层 |阅读模式
本帖最后由 Princess 于 2023-7-16 11:52 编辑

例程相对路径(自行替换):
examples\hdevelop\Identification\Data-Code\2d_data_codes_rectify_symbol.hdev

识别效果:
微信截图_20230716112407.jpg

核心代码:
  1. XCoordCorners := [130, 225, 290, 63]
  2. YCoordCorners := [101, 96, 289, 269]
  3. gen_cross_contour_xld (Crosses, XCoordCorners, YCoordCorners, 6, 0.785398)
  4. hom_vector_to_proj_hom_mat2d (XCoordCorners, YCoordCorners, [1, 1, 1, 1], [70, 270, 270, 70], [100, 100, 300, 300], [1, 1, 1, 1], 'normalized_dlt', HomMat2D)
  5. projective_trans_image (Image_slanted, Image_rectified, HomMat2D, 'bilinear', 'false', 'false')
复制代码

代码解释:
hom_vector_to_proj_hom_mat2d
使用上面给定的点组计算齐次变换矩阵,至少四组点(最佳)满足的关系方程,如果给的点组不满足四组,则不存在唯一解。
微信截图_20230716112700.jpg

如果正好提供了四对,则矩阵HomMat2D以完全期望的方式对它们进行变换,如果给定的点对多于四对,则hom_vector_to_proj_hom_mat2d寻求最小化变换误差。
为了实现这种最小化,有两种不同的算法可用,可以使用参数方法选择要使用的算法。
Method='normalized_dlt ':对于传统的几何问题,通常会产生更好的结果。
Method='dlt ':如果坐标Qw或Pw之一等于0,则必须选择该方法。

与vector_to_proj_hom_mat2d相反,hom_vector_to_proj_hom_mat2d对点使用齐次坐标,因此无穷远处的点(Pw = 0或Qw = 0)可用于确定变换。如果使用有限点,通常Pw和Qw设置为1,在这种情况下,也可以使用vector_to_proj_hom_mat2d,见下图:
微信截图_20230716114930.jpg
vector_to_proj_hom_mat2d的优点在于,可以使用一种额外的优化方法,并且可以考虑点的协方差。
如果点之间的对应关系尚未确定,则应使用proj_match_points_ransac来确定对应关系以及变换。

如果要转换的点是在标准图像坐标中指定的,则必须在Px中传递它们的行坐标,在Py中传递它们的列坐标。
这对于获得图像的右手坐标系是必要的。
特别是,这确保了旋转在正确的方向上进行。注意,矩阵的(x,y)顺序很自然地对应于图像中坐标的通常(row,column)顺序。

参数表:
  1. Px (输入控制类型,实数、整数及数组) :输入X坐标值
  2. Py (输入控制类型,实数、整数及数组) :输入Y坐标值
  3. Pw (输入控制类型,实数、整数及数组) :输入W坐标值
  4. Qx (输入控制类型,实数、整数及数组) :输入Qx坐标值
  5. Qy (输入控制类型,实数、整数及数组) :输入Qy坐标值
  6. Qw (输入控制类型,实数、整数及数组) :输入Qw坐标值
  7. Method (输入控制类型,字符串) :估计算法, 'dlt'、 'normalized_dlt'(默认)
  8. HomMat2D  (输出控制类型,hom_mat2d实数) :齐次射影变换矩阵
复制代码


奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
老老常 发表于 2023-7-17 09:00:03 | 显示全部楼层
学习了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
卷呀卷 发表于 2023-7-17 10:11:57 | 显示全部楼层
这个不错啊,学习
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
PAX_xh 发表于 2023-7-17 14:24:26 | 显示全部楼层
谢谢学习了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
wenbo_bob 发表于 2023-7-18 09:43:38 | 显示全部楼层
学习一下
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
DesWind 发表于 2023-7-19 17:57:32 | 显示全部楼层
学习了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Yanlf 发表于 2023-7-20 08:02:07 | 显示全部楼层
学习一下哈
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
CPeng 发表于 2023-7-20 10:52:36 | 显示全部楼层
学习以下。。。。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
天龙猫 发表于 2023-7-20 22:38:49 | 显示全部楼层
学习了,仿射变换           。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
wjs0207 发表于 2023-7-21 03:17:59 | 显示全部楼层
学习了
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表