设置首页收藏本站在线聊天
授权版本:2024_09
开启左侧

请教关于像素坐标系与标准坐标系的问题

[复制链接]
麦田呐喊 发表于 2023-9-6 17:37:04 | 显示全部楼层 |阅读模式
关于这两个坐标困惑了好久,想请教大佬们一下问题:
问题一:
目前只知道算子 affine_trans_point_2d和area_center是对于标准坐标系的,想请教这些算子是否都是对于像素坐标系的:
  1. affine_trans_contour_xld
  2. affine_trans_image
  3. affine_trans_image_size
  4. affine_trans_polygon_xld
  5. affine_trans_region
  6. affine_trans_pixel

  7. projective_trans_contour_xld
  8. projective_trans_image
  9. projective_trans_image_size
  10. projective_trans_pixel
  11. projective_trans_region               

  12. find_aniso_shape_model
  13. find_aniso_shape_models
  14. find_scaled_shape_model
  15. find_scaled_shape_models
  16. find_shape_model
  17. find_shape_models
  18. get_shape_model
复制代码


问题二:
find_aniso_shape_model  、find_aniso_shape_models、find_scaled_shape_model、find_scaled_shape_models、find_shape_model、find_shape_models这些算子得到的row、column是像素坐标还是标准坐标?

问题三:get_shape_model获取的模板中心在(0,0),这个坐标是像素坐标还是标准坐标?

问题四:find_shape_model输出的row、column——Row、Column的坐标并不是模板在搜索图像中的精确位置,因此不能直接使用他们。为什么不能直接使用?

奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Yanlf 发表于 2023-9-7 07:36:30 | 显示全部楼层
建议先实践一下再来说这些,基本所有的算子都是基于像素坐标系的!
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2023-9-7 09:17:01 | 显示全部楼层
halcon是图像库,所以算子理论上都是基于像素坐标系或者换算的实际坐标。
模板找到的Row、Column是模板的中心,由于halcon有部分算子基于亚像素xld所以会有像素精度提升。
所有基于图像坐标的不一定准确,因为相机拍摄的图像多少会有一些畸变,所以需要标定,包括像素标定和坐标系标定等等,之后就可以映射实际物理坐标。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
zjjdsg 发表于 2023-9-7 10:03:54 | 显示全部楼层
我实话整理的这么全,大多数我都没用过
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-7 16:35:53 | 显示全部楼层
本帖最后由 halcon2016 于 2023-9-7 16:40 编辑

官方文档解释得很清楚了,标准图像坐标系原点在左上角像素块的中心,非标准图像坐标系的原点在第一个像素块的左上角,区别就是差0.5个像素,所以有时候需要进行转换
截图00.png
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| 麦田呐喊 发表于 2023-9-14 16:52:12 | 显示全部楼层
halcon2016 发表于 2023-9-7 16:35
官方文档解释得很清楚了,标准图像坐标系原点在左上角像素块的中心,非标准图像坐标系的原点在第一个像素块 ...

请问一般在什么时候需要转换呀
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
 楼主| 麦田呐喊 发表于 2023-9-14 16:53:21 | 显示全部楼层
Criss 发表于 2023-9-7 09:17
halcon是图像库,所以算子理论上都是基于像素坐标系或者换算的实际坐标。
模板找到的Row、Column是模板的中 ...

像素坐标系和标准坐标系相差了(0.5,0.5),请问一般在什么时候需要转换?
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
Criss 发表于 2023-9-14 17:00:15 | 显示全部楼层
麦田呐喊 发表于 2023-9-14 16:53
像素坐标系和标准坐标系相差了(0.5,0.5),请问一般在什么时候需要转换? ...

你需要机械按照图像上计算的点位偏差或者角度偏差运动的时候才需要转换。
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-15 09:34:06 | 显示全部楼层
本帖最后由 halcon2016 于 2023-9-15 09:36 编辑
麦田呐喊 发表于 2023-9-14 16:52
请问一般在什么时候需要转换呀

很多算子需要的是非标准坐标系,即原点在第一个像素块的左上角,如affine_trans_pixel 算子,如果你需要转换的坐标是直接从图像中提取的,那么这个坐标的原点是基于标准坐标系的,但是affine_trans_pixel 内部会自动将待转换坐标转化为非标准系坐标,变换完后再转回标准坐标系,所以类似这些算了,直接使用即可。但如果是vector_to_proj_hom_mat2d这种算子,就需要自己手动转换,即先将像素坐标加0.5,再计算变换矩阵,可以参考vector_to_proj_hom_mat2d.hdev。以上所说的都是基于计算坐标是像素坐标为前提,且像素坐标是基于标准坐标系的,如果坐标是非像素坐标,如机械坐标,则都不需要转换,可直接使用
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
halcon2016 发表于 2023-9-15 09:46:01 | 显示全部楼层
麦田呐喊 发表于 2023-9-14 16:52
请问一般在什么时候需要转换呀

2023-09-15_093928.png

特别值得注意的是模板匹配算子得到的row,col是非标准坐标系下的坐标,所以该坐标不能直接当作是最终图像中的定位结果,但row,col可以直接用于vector_angle_to_rigid 来计算变换矩阵,因为这个算子需要的像素坐标就是要基于非标准坐标系下的,得到变换矩阵后,再用affine_trans_pixel 得到最终的定位结果才是基于标准坐标系的
奖励计划已经开启,本站鼓励作者发布最擅长的技术内容和资源,流量变现就在现在,[点我]加入吧~~~Go
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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