问题标签 [affinetransform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
202 浏览

matlab - 转换后的图像应始终可见

我正在尝试使用双线性插值来转换图像,我的输入图像是I,我有我的仿射矩阵[A],这将给我转换I'后的图像,根据双线性插值我取仿射矩阵的逆inv([A])并将其应用于每个点输出图像的大小(在初始级别全为零),因为我们不能保证输出图像大小可以是任何大小,所以首先我找到了边界,这样我就可以得到输出图像的大小,

现在我有输入图像、仿射矩阵和输出图像,它们至少具有可以轻松保存变换图像的大小,但是 如果我应用向后向后的翘曲方法,据此我必须遍历输出图像的每个像素(现在为零),我希望我的转换图像位于中心,所以我的转换图像应该始终可见,知道我该怎么做吗?

注意我不想使用 matlab 的内置函数。

编辑 在此处输入图像描述

如果我转换了我的A图像,我得到了 B,但是你看到图像的一角被裁剪了,我希望这些也能显示出来。

0 投票
1 回答
966 浏览

python - 为什么使用 PIL 进行仿射变换后图像颜色会发生变化?

image.transformPython Imaging Library中使用仿射变换对人脸检测图像应用仿射变换,以根据眼睛的位置校准人脸。结果是正确的,但图像的颜色如下所示。为什么?代码如下。最后两行是转换函数的调用。

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
1098 浏览

java - Java - 图形 - 传递给 paint() 的图形对象与 JPanel 实例中的图形对象不同

我有一个绘制形状并允许选择这些形状的 JPanel。我开始添加使用 AffineTransform 对象以及 Graphics2D 对象来转换此视图的功能。

在我的paint() 方法中,当然传入了一个Graphics 对象。我在该对象上设置了一个新的变换(在这种情况下,只是将事物缩放2),并且paint() 方法中的所有内容都根据AffineTransform 正确绘制我刚定。在这一点上,绘图形状部分效果很好!现在开始选择形状...

形状选择从 mousePressed() 事件开始(我的 JPanel 实现了 MouseListener 接口)。当我有一个 mousePressed() 事件时,我调用 this.getGraphics() 来获取 JPanel 的 Graphics 对象。然后我将它转换为 Graphics2D 对象并在其上调用 getTransform() 以获取我当前的变换,以便我可以将单击的点映射到变换的点。然而,当我调用 getTransform() 时,AffineTransform 又回到了 [1, 0, 0], [0, 1, 0] 的默认 AffineTransform。

我在想也许传递给 JPanel 的 paint() 的 Graphics 对象与我在 JPanel 中的对象不同,但我不确定。有谁知道这里发生了什么?

0 投票
1 回答
1698 浏览

java - 如何以给定角度旋转多边形

我正在创建一个指南针,它绘制在JPanel. 我将坐标系的中心平移到JPanel. 现在我想将这个点上的针旋转一个给定的角度,这个角度来自程序的另一部分。我试过了AffineTransform,但我不明白如何让它正确。当我尝试时,针被画在圆圈外面。

0 投票
1 回答
264 浏览

java - 为什么移动我在 java 1.6se 中使用仿射变换的位置

我想缩放形状。

所以我在仿射变换中使用 setToScale 方法。

然后,不仅形状的长度是反式的,而且形状的起点也会移动

为什么?

方法调用的顺序是 MousePress : initResize, MouseDrgged : resize

x,y 是鼠标坐标

0 投票
2 回答
15578 浏览

java - 如何在Java中围绕一个点旋转多边形/点

我一直在尝试围绕指定的中心点旋转多边形,但我尝试过的一切都失败了。例如,我用谷歌搜索,发现很多但没有一个似乎有效。

我试图复制的结果与第一个答案相似

如何在 Swing 中逐渐旋转图像?

不同之处在于我需要多边形实际旋转,只是以一定角度绘制它不会切割它。(用于简单的物理建模)

这是我的代码,我尝试了几种不同的方法

0 投票
1 回答
163 浏览

affinetransform - 为匹配的 asift 特征恢复模拟仿射变换(Morel 的实现)

有没有人尝试恢复 ASIFT 特征检测器的模拟仿射变换?(来自作者的实现)。在原始论文中,方程 2.2 清楚地恢复了模拟仿射,但我似乎找不到执行此操作的明确点。有没有人尝试过?compute_asift_keypoints.cpp 中的函数 compare_affine_coor1 似乎是我正在寻找的,但比例似乎已标准化,而且执行转换的坐标中心对我来说并不清楚。

0 投票
2 回答
148 浏览

java - 获取变换对象的 x 和 y 点

我正在使用 AffineTransform 变换炮塔的枪管,我希望子弹从枪管尖端直接射出。是否有形状方法来获取这些坐标,还是我必须手动计算?

转换代码

子弹代码

0 投票
1 回答
3123 浏览

java - 创建变换以从一个矩形映射到另一个?

创建AffineTransform将坐标从一个矩形映射到另一个(给出浮动/双矩形)的最简单方法是什么?

更新 1

矩形可以完全不同。例如 [(0,0)-(1,1)] 和 [(150,-14)-(-1000,-14.1)]。并且变换应该是均匀变换的。例如,矩形角应该一对一变换。例如坐标 (0,0) 应变为 (150,-14)。

更新 2

我需要AffineTransform对象,而不仅仅是计算。因为我想将它应用于Graphics对象。我也想以一些简单转换的串联形式。

更新 3

以下 3 个测试全部失败:

0 投票
1 回答
6685 浏览

java - 如何在 Java 中旋转 BufferedImage?

可能重复:
旋转 BufferedImage 实例

我目前使用的方法(如下)导致 BufferedImage 变得越来越失真,角度参数越小。