affinetransform

    3热度

    2回答

    我有一个三维坐标系,我用三维相机跟踪三个外部点。 所以我有三个点(x,y,z)空间。 下一帧我再次追踪这三点。 我使用前三点作为初始状态。现在我需要绘制一个变换矩阵,该矩阵给出了与初始位置相比第二个3点的平移,旋转和缩放比例。 现在我不知道该怎么做。 有没有办法直接做出变换矩阵,还是我首先必须计算出平移,旋转和缩放矩阵,然后再做出这三个变换矩阵? 我在C++中使用opencv和qt工作。 有人有什

    0热度

    1回答

    是否可以使用Apache Commons Math的Transform接口实际转换数值向量?如果“是”,那么如何? Apidoc没有线索。如果“否”,那么这个接口的目的是什么? UPDATE 界面上方是超链接。我的意思是org.apache.commons.math3.geometry.partitioning.Transform<S extends Space,T extends Space>

    -2热度

    1回答

    我正在制作一个程序,当用户单击屏幕时绘制省略号。目前当绘制椭圆时,原点是(0,0),因此它是从右上角绘制的。我希望它能够围绕鼠标点击,然后中心就是用户点击的位置,但我不知道如何去做。如果有人能引导我朝着正确的方向发展,那就太棒了! public void DrawSprite(Graphics2D g2) { AffineTransform tOldTransform = g

    1热度

    1回答

    我有一个简单的问题要问。 是否可以在paint/paintComponent上下文之外进行仿射变换?例如,假设我想创建一个由通用路径组成的Shape,然后将其旋转45°。 是否有可能创建该对象,然后将其始终在类构造函数中旋转,而不是创建对象,然后在paint/paintComponent方法中将其旋转? 非常感谢。 UPDATE 非常感谢您的信息家伙。 所以今天我做了一个简单的测试,如你所建议的,

    1热度

    1回答

    真的很简单。我有一个的UIImageView: ,我想申请一个仿射变换得到这个图片: 然而,特别是在问题变换逃避我。 180 °旋转得到我: transform = CGAffineTransformMakeRotation(M_PI); // similarly, CGAffineTransformMakeScale(-1, -1); 这是oviously相当遥远。翻译也有问题: tran

    0热度

    2回答

    我有两个图像,一个模板和一个扫描页面。 我打印模板然后扫描它。 图像对于每个角度都有一个点。 因为扫描可以被翻译,旋转并且可以具有不同的大小(由于打印机的畸变,所以在垂直方向上水平)我必须将扫描的四个点映射到模板。 我有每个点的位置。 如何在Java中创建应用于扫描的AffineTransform?

    1热度

    2回答

    我试图用这个方法来旋转点: AffineTransform at = AffineTransform.getRotateInstance(Math.toRadians(90), 1, 2); double[] pt = {0, 1}; at.transform(pt, 0, pt, 0, 1); int x = (int)pt[0]; int y = (int)pt[1]; 预期的结果

    1热度

    1回答

    所以我有一个正常的图像。我在矩形图像的每个角落定义了Click和Drag-Listeners。我想要自由地转换每个角并在屏幕上绘制它。 AffineTransform类提供了转换的可能性,但我找不到一种方法来实现这一点。 我已经在android中使用Matrix.setPolytoPoly方法实现了相同的功能。但是在java swing中没有等价物。 谢谢! 编辑: 我想说明与下面的图片此过程:

    2热度

    2回答

    我有一个graphics.drawImage与我想绘制的中心缩放的缓冲区和一个带坐标和缩放比例的矩形我希望缓冲区被绘制为。 tr2.translate(buffer.getWidth()/2, buffer.getHeight()/2); tr2.scale((double)rect.width/buffer.getWidth(),(double) rect.height/buffer.getH

    2热度

    1回答

    1部分:对齐的代码在128倍* 128的图像 - 这部分工作正常 images = dir('*.jpg'); [cs,index] = sort_nat({images.name}); frame_number = 1; movMean = imresize(imread(cs{frame_number}),[128,128]);