AutoCAD坐标与图像坐标

(python二次开发AutoCAD进行栅格图像处理前言理论)

坐标系之间的联系

​ 今天给各位简单介绍一下在AutoCAD中,AutoCAD坐标系与图像的图像坐标系之间的关系,偏理论性质,希望各位看的不要太无聊。后续会介绍AutoCAD如何对栅格图像进行开发。

​ 我们知道,坐标系使用量化的思想去描述某一事物相对于其他事物之间的关系、位置。坐标系是建立图形与数之间对应联系的参考系,用以描述某一图形或者物体相对于该坐标系下原点的位置。能够直观方便的记录图形的几何信息、大小、位置。往往我们在描述某一个场景或者物体时,在不同的参考系下使用到的坐标系也不同。因此我们需要找到不同坐标系之间的关系。一般的说,表达像点位置的坐标系统应该直接与像点的坐标量测相联系,而表达地面点位置的坐标系统则应直接与大地测量的坐标系统相联系。

​ 在计算机图形学中,在像面上用以表示像点位置的坐标系叫做像平面坐标系,图像中的像素按行列次序排列成矩阵形式,图像坐标系为左手坐标系,以像素为坐标单位。往往在读取某一像点的位置时,是计算该像点到相片左上角点的水平距离与垂直距离,即使用像素构成的二维坐标系来表示该像素点所在的位置。其坐标系的构建往往以水平方向向右作为x轴,顺时针旋转90°作为y轴,原点为相片的左上角点。

​ 在AutoCAD软件中,有其自定义的坐标系,该坐标系为右手坐标系,以作图区域左下方为原点,水平方向向右作为x轴,逆时针旋转90°作为y轴,垂直屏幕向外作为z轴。由于我们在插入栅格图像时,往往是二维的平面图形,因此我们认为二维图元的z轴坐标均为0。在AutoCAD插入栅格图像时,如果有定位文件,那么即可根据定位文件中插入点,以及像素的分辨率确定栅格图像所在的位置。例如某一栅格图像的定位文件如下:

32.0000000000 a
0.0000000000 b
0.0000000000 c
-32.0000000000 d
12623888.0000000000 e
4120559.9999999981 f

即可根据该定位文件实现图像的定位,此时图像中的每一像素在AutoCAD坐标系下所代表的长度为32米,插入点为(e,f)。

因此我们需要找到AutoCAD坐标系与图像坐标系的关系。我们认为在AutoCAD中坐标系为XOY坐标系,图像坐标系为xoy坐标系。因此如图所示:

在上图中,AutoCAD坐标系XOY下一点(X,Y)与图形坐标系xoy下一点(x,y) 相同,且已知图像的左下角点在AutoCAD坐标系下的坐标为(X0,Y0),右上角点在AutoCAD坐标系下的坐标为(X1,Y1),栅格图像的像素行数为high,列数为length。即可根据其对应的关系找到AutoCAD坐标系与图形坐标系之间的关系。
{[X−X0Y−Y0]=λ[xhigh−y]λ=Y1−Y0high=X1−X0length.\begin{cases} \left[ \begin{array}{c} X-X_0\\ Y-Y_0\\ \end{array} \right] \,\,=\,\,\lambda \left[ \begin{array}{c} x\\ high-y\\ \end{array} \right]\\ \lambda \,\,=\,\,\frac{Y_1-Y_0}{high}=\frac{X_1-X_0}{length}\\ \end{cases}\,. ⎩⎨⎧​[X−X0​Y−Y0​​]=λ[xhigh−y​]λ=highY1​−Y0​​=lengthX1​−X0​​​.
公式中的lambda即为每一像素所代表的具体长度,即图像中一像素代表坐标系下的具体长度。由此即可得到坐标系与图形坐标系之间的转换关系。

备注:特别感谢哈工大的Hulunbuir学长以及335工作室的群主和小伙伴们的帮助与支持。后期会出一期博客详细介绍一下基于AutoCAD的python二次开发对于栅格图像的应用 。

附本人邮箱:630317316@qq.com

各位小伙伴点点关注哦!相当有内容有良心的公众号啦!

希望能和各位小伙伴们共同进步,欢迎各位和我一起探讨学习有关python二次开发AutoCAD的具体实例。

AutoCAD坐标与图像坐标相关推荐

  1. matlab 相机焦距,世界坐标、相机坐标、图像坐标、像素坐标的原理、关系,并用matlab仿真...

    照相机是日常生活中最常见的.它能把三维的空间图片等比例缩小投影在照片上,称为一个二维图像. 以下我们就讲一讲原理,并相应的进行matlab仿真. 在学之前,先要了解几个概念: 什么是世界坐标? 也就是 ...

  2. 像素坐标、图像坐标、相机坐标和世界坐标

    相机成像时,世界坐标系下三维空间的一点(X_w, Y_w, Z_w)到像素(u,v)的转换需要经历世界坐标系->相机坐标系->图像坐标系->像素坐标系一系列变换. 世界坐标系-> ...

  3. 相机模型之世界坐标、相机坐标、归一化坐标、图像坐标、像素坐标、内参、外参、转换关系总结

    2021.04.12重新修改版:

  4. 光学成像模型\和物距、像距、焦距、三者关系\和世界坐标、相机坐标、图像坐标、像素坐标关系\和图像畸变标定处理(二)

    来自百度百科:https://zhidao.baidu.com/question/55907940.html 原文链接:https://blog.csdn.net/qq_35250841/articl ...

  5. 图像坐标:我想和世界坐标谈谈(B)

    二.图像坐标:我想和世界坐标谈谈(B) 玉米将在这篇博文中,对图像坐标与世界坐标的这场对话中涉及的第二个问题:谈话方式,进行总结.世界坐标是怎样变换进摄像机,投影成图像坐标的呢? 玉米做了一个简单的图 ...

  6. 二维坐标和三维坐标相互转换

    原理参考世界坐标系.相机坐标系.图像坐标系.像素坐标系之间的转换 我的需求是将二维点转换成三维点,旋转三维点,再转换为二维点,此处的旋转跟相机成像的旋转矩阵又没有关系. 假定像素坐标为(u,v),处理 ...

  7. 图像中某点绕点旋转后的坐标,图像旋转坐标位置

    图像中某点绕点旋转后的坐标,图像旋转坐标位置 在平面坐标上,任意点P(x1,y1),绕一个坐标点Q(x2,y2)旋转θ角度后,新的坐标设为(x, y)的计算公式: x= (x1 - x2)*cos(θ ...

  8. 图像坐标:我想和世界坐标谈谈(A) 【计算机视觉学习笔记--双目视觉几何框架系列】

    玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题.希望这样的方式让大家以一个轻松的心态阅读玉米的<计算机视觉学习笔记>双目视觉数学架构系列博客.这个系列博客旨在捋顺一下已标定的双 ...

  9. 张正友标定Opencv实现、标定流程以及图像坐标转为世界坐标

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/xiaomifanhxx/article/details/79560693 使用相机以前,首先要进行相 ...

  10. python dataset[trans_python gdal根据图像坐标生成矢量框(含图像坐标转地理坐标)...

    要生成矢量框需要将图像坐标转换为地理坐标或者投影坐标,以下代码是生成了满足条件的1000*1000区域对应的矢量框,关键在于红色字体部分. # -*- coding: utf-8 -*- import ...

最新文章

  1. Linux如何编译安装源码包软件
  2. java.lang.IllegalArgumentException: Can not set XXX to com.sun.proxy.$Proxy28
  3. 宁夏警官学院计算机专业,宁夏警官职业学院毕业设计模板.docx
  4. [2-sat][topsort输出解] POJ 3648 Wedding
  5. insert exec 语句不能嵌套_Python基础入门知识点——if 语句简介
  6. java5新特性_5分钟了解Java 12 八大新特性
  7. 带默认参数值的函数 内联函数
  8. [转载] Python中NumPy简介及使用举例
  9. 杭电 1421 搬寝室
  10. Convolutional Neural Networks (CNNs / ConvNets)
  11. Hadoop下载地址/hbase下载地址
  12. 系统架构师论文-论新技术的引进
  13. 网页中下拉列表框自动展开的方法
  14. ipad上编程方法,服务器安装vscode
  15. 中国软件服务外包IT公司最新排名-IT外包最强前50名
  16. Centos7配置dhcp服务
  17. 用.bat文件打开程序
  18. 30 岁后,让你走上坡路的 3 种能力
  19. xlrd/xlwt读写excel文件
  20. 7.0系统手机XPOSED框架安装步骤

热门文章

  1. Flask项目基本流程
  2. 怎么用c语言测试音频文件,如果用c语言程序读取一段音频文件要如何做,具体要调用哪些函数,在网上搜索了半天,乱七八糟的,找不到什么有用的信息...
  3. XSS靶场练习手工注入(1)
  4. 计算机编程画图步骤,计算机CAD绘图基础教程
  5. 计算机绘图CAD实训指导,【精品】CAD计算机绘图实习指导书
  6. 手机“入殓师”,你之前有听过吗?
  7. ubuntu18.04使用calibration_toolkit进行相机和三维激光雷达的联合标定
  8. c++中string 各种函数的函数用法
  9. kdiff3的主窗口说明 Base Local Remote 分别代表什么分支
  10. 第三方支付操作流程,有何优势,又存在哪些风险?