问题标签 [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.
matlab - 转换后的图像应始终可见
我正在尝试使用双线性插值来转换图像,我的输入图像是I
,我有我的仿射矩阵[A]
,这将给我转换I'
后的图像,根据双线性插值我取仿射矩阵的逆inv([A])
并将其应用于每个点输出图像的大小(在初始级别全为零),因为我们不能保证输出图像大小可以是任何大小,所以首先我找到了边界,这样我就可以得到输出图像的大小,
现在我有输入图像、仿射矩阵和输出图像,它们至少具有可以轻松保存变换图像的大小,但是 如果我应用向后向后的翘曲方法,据此我必须遍历输出图像的每个像素(现在为零),我希望我的转换图像位于中心,所以我的转换图像应该始终可见,知道我该怎么做吗?
注意我不想使用 matlab 的内置函数。
编辑
如果我转换了我的A
图像,我得到了 B,但是你看到图像的一角被裁剪了,我希望这些也能显示出来。
python - 为什么使用 PIL 进行仿射变换后图像颜色会发生变化?
我image.transform
在Python Imaging Library中使用仿射变换对人脸检测图像应用仿射变换,以根据眼睛的位置校准人脸。结果是正确的,但图像的颜色如下所示。为什么?代码如下。最后两行是转换函数的调用。
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 中的对象不同,但我不确定。有谁知道这里发生了什么?
java - 如何以给定角度旋转多边形
我正在创建一个指南针,它绘制在JPanel
. 我将坐标系的中心平移到JPanel
. 现在我想将这个点上的针旋转一个给定的角度,这个角度来自程序的另一部分。我试过了AffineTransform
,但我不明白如何让它正确。当我尝试时,针被画在圆圈外面。
java - 为什么移动我在 java 1.6se 中使用仿射变换的位置
我想缩放形状。
所以我在仿射变换中使用 setToScale 方法。
然后,不仅形状的长度是反式的,而且形状的起点也会移动
为什么?
方法调用的顺序是 MousePress : initResize, MouseDrgged : resize
x,y 是鼠标坐标
java - 如何在Java中围绕一个点旋转多边形/点
我一直在尝试围绕指定的中心点旋转多边形,但我尝试过的一切都失败了。例如,我用谷歌搜索,发现很多但没有一个似乎有效。
我试图复制的结果与第一个答案相似
不同之处在于我需要多边形实际旋转,只是以一定角度绘制它不会切割它。(用于简单的物理建模)
这是我的代码,我尝试了几种不同的方法
affinetransform - 为匹配的 asift 特征恢复模拟仿射变换(Morel 的实现)
有没有人尝试恢复 ASIFT 特征检测器的模拟仿射变换?(来自作者的实现)。在原始论文中,方程 2.2 清楚地恢复了模拟仿射,但我似乎找不到执行此操作的明确点。有没有人尝试过?compute_asift_keypoints.cpp 中的函数 compare_affine_coor1 似乎是我正在寻找的,但比例似乎已标准化,而且执行转换的坐标中心对我来说并不清楚。
java - 获取变换对象的 x 和 y 点
我正在使用 AffineTransform 变换炮塔的枪管,我希望子弹从枪管尖端直接射出。是否有形状方法来获取这些坐标,还是我必须手动计算?
转换代码
子弹代码
java - 创建变换以从一个矩形映射到另一个?
创建AffineTransform
将坐标从一个矩形映射到另一个(给出浮动/双矩形)的最简单方法是什么?
更新 1
矩形可以完全不同。例如 [(0,0)-(1,1)] 和 [(150,-14)-(-1000,-14.1)]。并且变换应该是均匀变换的。例如,矩形角应该一对一变换。例如坐标 (0,0) 应变为 (150,-14)。
更新 2
我需要AffineTransform
对象,而不仅仅是计算。因为我想将它应用于Graphics
对象。我也想以一些简单转换的串联形式。
更新 3
以下 3 个测试全部失败:
java - 如何在 Java 中旋转 BufferedImage?
可能重复:
旋转 BufferedImage 实例
我目前使用的方法(如下)导致 BufferedImage 变得越来越失真,角度参数越小。