相关疑难解决方法(0)

将四边形图像提取为矩形

A photo

BOUNTY UPDATE

Denis的链接之后,这是如何使用threeblindmiceandamonkey代码:

// the destination rect is our 'in' quad
int dw = 300, dh = 250;
double in[4][4] = {{0,0},{dw,0},{dw,dh},{0,dh}};
    // the quad in the source image is our 'out'
double out[4][5] = {{171,72},{331,93},{333,188},{177,210}};
double homo[3][6];
const int ret = mapQuadToQuad(in,out,homo);
    // homo can be used for calculating the x,y of any destination point
// in the source, e.g.
for(int i=0; i<4; i++) {
    double p1[3] = {out[i][0],out[i][7],1};
    double p2[3];
    transformMatrix(p1,p2,homo);
    p2[0] /= p2[2]; …
Run Code Online (Sandbox Code Playgroud)

graphics interpolation pixel

15
推荐指数
2
解决办法
8747
查看次数

是否有解决此类投影重建几何问题的算法?

我们有一个红色正方形的网格.意思是我们有一个3个正方形(角度= = 90度)的数组,我们知道它们具有相同的大小,位于同一平面上,并且相对于它们所躺着的平面具有相同的旋转,并且不在同一条线上平面.

我们有一个包含带正方形平面的空间投影.

我1

我们想要用正方形转动我们的平面投影,这样我们就会看到它像我们面对的那样,一般来说我们需要一个公式来转动原始平面投影的每个点,这样它就像我们在下面的图像上一样.

什么公式可以用来解决这个问题,如何解决它,有没有人面临这样的事情呢?

我2

algorithm math geometry projective-geometry

11
推荐指数
1
解决办法
964
查看次数

如何将由4个点识别的任意平面投影到2d平面上?

我们试图解决在平面的两个不同表示中定位点的问题.我们拥有的第一个平面被旋转以创造视角; 第二个是同一平面的二维视图.我们知道每个计划都有4个积分.问题是如果我们在平面1中有一个任意点,我们如何找到平面2中的对应点?

最好用说明用例来最好地澄清问题.我们左边有一张图片.

投影平面

替代文字

二维空间布局图

替代文字

所以我们拥有的是两张照片中的红色方块.请注意,如果可能的话,我希望2D空间不一定是正方形.这些是我们提前和已知的.我在第一张图像中也在平面上放置了绿点.我希望能够将图像1中的点投影到图像2中的空间上.

另请注意图像1我没有定义的窗口或眼睛位置.我只知道图像1中的红色方块是红色方形图像2的变换,并且图像2位于2D空间中.

3d graphics geometry planerotation projective-geometry

5
推荐指数
1
解决办法
1932
查看次数