先看下两个坐标图谱:
变换前:
变换后:
我们根据1号点和9号点前后的关系,计算变换后其他点的坐标:这其实就是根据MARK点进行定位的原理
halcon代码:
执行结果:
我们发现,两种变换方式差别在于 :
affine_trans_pixel在变换前先减去0.5,变换后又加上0.5这样才会使结果和affine_trans_point_2d是一致的。(可以自己尝试一下不做加减0.5的操作去验证结果是否正确)
这是因为affine_trans_pixel是基于亚像素概念,我们知道图像的最小单位是1pixel(1个像素就是一个方格),所以如果在一个像素内使用亚像素去表示像素的中心时,那中心点距离像素边缘是有0.5个pixel的距离的。
所以使用affine_trans_pixel就存在0.5的偏移,顾名思义,这个算子是用来计算像素坐标的转换
实际坐标的转化我们最好还是使用affine_trans_point_2d文章来源:https://www.toymoban.com/news/detail-563063.html
源文件下载链接文章来源地址https://www.toymoban.com/news/detail-563063.html
到了这里,关于浅谈affine_trans_point_2d与affine_trans_pixel的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!