码迷,mamicode.com
首页 > 其他好文 > 详细

Halcon中的坐标系特点及XLD的镜像转换

时间:2017-08-31 22:18:57      阅读:1049      评论:0      收藏:0      [点我收藏+]

标签:raw   use   notepad   文件   二维   class   转换   style   src   

 

我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角。那么Halcon中坐标系和一般的二维坐标系有什么区别你?我通过下面这个例子来分析。

 

 1 gen_image_const (Image, byte, 512, 512)
 2 dev_set_draw (margin)
 3 
 4 *点1
 5 gen_circle (Circle1, 10, 10, 3)
 6 disp_message (3600, (10 ,10), image, 2, 18, white, false)
 7 *点2
 8 gen_circle (Circle2, 100, 200, 3)
 9 disp_message (3600, (100 ,200), image, 92, 208, white, false)
10 *点3
11 gen_circle (Circle3, 400, 100, 3)
12 disp_message (3600, (400 ,100), image, 392, 108, white, false)
13 
14 union2 (Circle1,Circle2, RegionUnion)
15 union2 (RegionUnion,Circle2, RegionUnion)
16 union2 (RegionUnion,Circle3, RegionUnion)
17 gen_contour_region_xld (RegionUnion, Contours, border)
18 write_contour_xld_dxf (Contours,C:/Users/happy xia/Desktop/XLD的镜像变换/threePoint.dxf)

这三个点在Halcon中的位置如下图:

技术分享

 

上面的程序最终生成了一个名为threePoint.dxf的文件。我用文本查看器(notepad++、记事本等)打开查看它的数据:

技术分享

红框中“10”下面的数据代表点的x值,“20”下面的数据代表点的y值,即截图里有两个点(98.5, 396.5)、(99.5, 396.5),这两个点都是XLD圆上的点,很明显这两个点所在圆的圆心坐标是(100, 400)。但是我们看最开始的那张图,发现只有点(400, 100),并没有点(100, 400)!

 

根据上面的事实现象,我们不难发现Halcon中的坐标系实际是这样的:

技术分享 

根据导出的dxf文件中的坐标点反推,之前的那张图的坐标实际上是这样的:

技术分享

 

这两个坐标系的区别如下图。不难看出,它们是上下镜像的关系。

技术分享

 

Halcon中的坐标系特点及XLD的镜像转换

标签:raw   use   notepad   文件   二维   class   转换   style   src   

原文地址:http://www.cnblogs.com/xh6300/p/7460690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!