affinetransform相关内容

PIL python中的仿射变换

我在PIL python库中的im.transform方法遇到问题.我以为我已经弄清楚了参数A到F的逻辑,但是,尽管波纹管功能计算出的所有四个角都具有正确的正值,但最终得到的图像却朝错误的方向旋转并被切除. 有人可以给我公式来计算两个坐标系中三个相同点的仿射参数(A到F)吗? def tran (x_pic, y_pic, A, B, C, D, E, F): X = A * x_ ..
发布时间:2020-05-27 20:54:58 其他开发

单应性和仿射变换

您好,我是计算机视觉的初学者,如果您要查找两幅图像之间的转换以及为什么要使用它,我想知道单应性和仿射变换之间的确切区别是什么.从我在线上找到的论文和定义中,我还没有找到它们之间的区别,以及它们之间的区别. 感谢您的帮助. 解决方案 我已按照外行的条款将其设置为空. Homography 单应性是将一个图像中的给定点集映射到另一图像中的对应点集的矩阵. 单应性是一个3x3 ..

如何使用python执行坐标仿射变换?第2部分

我有与此处所述相同的问题: 如何使用python执行坐标仿射变换? 我试图使用所描述的方法,但由于某些原因,我会收到错误消息. 我对代码所做的更改是为了替换主系统点和辅助系统点.我通过使用不同的origo创建了辅助坐标点.在我正在研究的实际情况下,测量坐标时会出现一些错误. primary_system1 = (40.0, 1160.0, 0.0) primary_system2 = ..
发布时间:2020-05-18 19:44:03 Python

在Java中,如何找出仿射变换后的矩形是否包含某个点?

我正在尝试制作交互式GUI,但是每当单击并拖动该矩形时,我都需要移动某个对象.基本上,我想知道经过仿射变换的矩形是否包含特定点(x,y).有没有办法做到这一点?我尝试使用contains()方法,但不适用于已进行仿射变换的矩形.我检查了Java教程,但用户交互式GUI不使用仿射变换.有人可以给我指出一个教程吗,该教程允许用户仿射变换某个形状,并且仅在单击和拖动形状本身时才移动该形状.如果没有,我该 ..
发布时间:2020-05-12 19:08:38 Java开发

Matlab计算3D相似度转换.适用于3D的fitgeotrans

如何在MatLab中计算3D中4个点之间的相似度转换? 我可以从中计算出变换矩阵 T*X = Xp, 但是由于点坐标中的小误差,它会给我仿射矩阵.如何使该矩阵适合相似性?我需要类似fitgeotrans的东西,但是要使用3D 谢谢 解决方案 假设您在3-dimensional空间中最多包含3个点,则@rayryeng的答案是正确的.如果需要变换n-dimensional空间( ..

在Matlab中将DICOM仿射矩阵从图像空间转换为患者空间

通过nifti头很容易获得仿射矩阵.但是,在DICOM标头中有很多条目,但是我不清楚哪些条目描述了将哪个参数转换为哪个新空间. 我找到了教程,该教程非常详细,但我找不到条目他们指的是.另外,该教程是为Python而不是Matlab编写的.它列出了这些标题条目: Entries needed: Image Position (0020,0032) Image Orientation (0 ..
发布时间:2020-05-06 12:41:47 其他开发

放大和缩小jPanel

我想知道使用面板的paintComponent进行缩放后,检索鼠标clic位置的最佳方法是什么? (相对于此缩放的位置). 这是缩放代码: public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; if(zoomer==tru ..
发布时间:2019-11-05 12:08:57 Java开发

使用仿射变换放大

我正在使用JAVA swing开展我的个人项目。 该项目是关于在窗口上绘制地图。 地图可以使用仿射变换进行缩放。 我在这里遇到的问题是每当我放大或缩小地图时,也会移动而不是放大/缩小位于屏幕中心的地图上的点 private void updateAT() { Dimension d = panel.getSize(); int panelW = d.width; ..
发布时间:2019-01-09 19:57:23 Java开发

Java - 子像素线精度是否需要AffineTransform?

我之前从未使用过Java绘图方法,因此我决定深入研究并创建一个模拟时钟作为PoC。除了手之外,我画了一个钟面,包括刻度标记,分钟/小时。我使用简单的sin / cos计算来确定圆周线的位置。 然而,我注意到,因为分钟刻度非常短,线条的角度看起来不对。我确定这是因为 Graphics2D.drawLine()和 Line2D.double()方法无法用子像素绘制精确度。 我知道我可以绘制 ..
发布时间:2018-12-27 18:02:46 Java开发

围绕其中心旋转移动的形状

我在Java中制作2D游戏,玩家通过障碍物引导多边形。多边形上下移动,游戏世界左右滚动。我需要多边形围绕其中心旋转,但由于它经常被平移,所以它围绕移动旋转。尝试将其转换回原始中心,旋转它并将其翻译回来并不起作用。如何获得形状的中心? 这是我在2ms计时器上的运动计算: @Override public void actionPerformed(ActionEvent e){ ..
发布时间:2018-12-24 12:08:18 Java开发

JComponent JPanel缩放,平移和坐标问题

我有一个 JPanel ,其中包含一个用户可以缩放和平移的矢量图像。覆盖此图像是(透明) JComponent ,我允许用户注释底层图像。这在全尺寸下工作得很好,但如果我使用 AffineTransform 放大,则叠加坐标也会受到影响。因此,如果用户在图像上绘制一个框,则该框也会缩放。 有关如何解除此行为的任何建议吗?因此 JComponent 不受 JPanel 的 AffineTran ..
发布时间:2018-12-22 19:23:41 Java开发

如何从AffineTransform派生的形状对象中“获取”特定点

作为一个自我项目,我正试图制作游戏“小行星”。 目前,我一直试图弄清楚如何制作它,以便从我的船上发射的激光从提示出现船。到目前为止,我已经尝试过使用 Shape 对象的 .getBounds2D()。getX()方法,但是因为 getBounds2D()在多边形周围绘制一个矩形,激光最终出现在我的Polygon 船周围的假想“盒子”的角落里code>。 这是一个gif到目前为止我所拥有 ..
发布时间:2018-12-22 19:02:24 Java开发

将三角形转换为另一个三角形

您好我正在尝试创建仿射变换,这将允许我将三角形转换为另一个三角形。我所拥有的是2个三角形的坐标。你能帮助我吗? 在亚当罗森菲尔德的回答之后我想出了这个代码,以防有人厌倦自己解决这个问题: public static AffineTransform createTransform(ThreePointSystem source, ThreePointSystem dest){ do ..
发布时间:2018-12-10 23:02:55 Java开发

旋转BufferedImage会改变其颜色

我正在尝试将一个类编码为在x和y方向上雕刻图像。 x方向正在工作,并且为了减小y方向,我想到简单地将图像旋转90°并在已经重新调整的图像上运行相同的代码(仅在x方向上),然后将其旋转回其初始状态。 我找到了 AffineTransform 的东西并试了一下。它实际上产生了一个旋转的图像,但搞砸了颜色,我不知道为什么。 这是所有的代码: import java.awt.image ..

图形上下文在第一次绘制时未对齐

我一直在为另一个问题提供答案并且遇到了一个我以前从未见过的奇怪问题... 基本上,程序使用 AffineTransform 提供 Graphics 元素的翻译,缩放和旋转,简单的东西,在之前完成了一千次 问题是,当屏幕第一次出现时,输出不是应该的位置,但是一旦我触摸其中一个控件(调整其中一个幻灯片),它就会跳到正确的位置。 根据屏幕截图, Graphics 内容似乎是错误的其他控 ..
发布时间:2018-12-04 13:25:05 Java开发

用Java旋转数据和文本的坐标平面

我需要: 1.)移动原点并旋转坐标平面,使x值向右前进,y值从新原点向上进展(需要是底部在下面的代码中的内部蓝色矩形的左角)。这将使我能够在下面的代码中绘制x,y坐标对的点。 2.)在数据图的y轴上绘制tic标记的旋转标签。 下面的代码设置了这个问题。它有效,除了两个问题: 1.)数据点正在绘制,左上角为原点,y值向下递减 2.) y轴上的抽搐标记的标签没有在屏幕上绘 ..
发布时间:2018-11-26 13:08:11 Java开发

如何直接在IOS 4中旋转CVImageBuffer图像而不转换为UIImage?

我在iPhone上使用OpenCV 2.2来检测面部。我正在使用IOS 4的AVCaptureSession来访问摄像机流,如下面的代码所示。 我的挑战是视频帧以CVBufferRef形式出现(指向CVImageBuffer)对象,它们以面向横向,480px宽,300px高。如果您将手机侧向握住,这很好,但是当手机保持在直立位置时,我想将这些框架顺时针旋转90度,以便OpenCV可以正确找到 ..
发布时间:2018-08-31 19:08:55 移动开发