|
|
1
27
这是我看完报纸后想回答的问题
我在sage中操纵了一段时间的方程式,并用c样式生成了这个伪代码:
更新:以下是这些公式的确定方式:以下是代码输入 SAGE . 它可以在线访问 http://www.sagenb.org/home/pub/704/ . (sage在解方程方面非常有用,可以在任何浏览器中使用,请查看)
C代码中的简化方程由
|
|
|
2
7
更新 在阅读了您的更新,并查看了第一个参考(白板扫描和图像增强),我看到了丢失点在哪里。 问题的输入数据是四倍(A、B、C、D)。 和 投影图像的中心O。在本文中,它对应于假设u0=v0=0。加上这一点,问题会受到足够的约束,从而得到矩形的纵横比。 然后将问题重述如下:给定z=0平面上的四倍(a,b,c,d),找到眼睛位置e(0,0,h),h>0和三维平面p,使(a,b,c,d)在p上的投影是一个矩形。 注意,p由e决定:要得到一个平行四边形,p必须包含(e u)和(e v)的平行线,其中u=(ab)x(cd)和v=(ad)x(bc)。 从实验上看,这个问题一般有一个唯一的解,对应于矩形的W/H比的一个唯一值。
上岗 不,不能从投影中确定矩形比例。 在一般情况下,z=0平面上四个非共线点的四倍(a,b,c,d)是无限多个矩形的投影,具有无限多的宽高比。 考虑两个消失点u,(ab)和(cd)和v的交点,(ad)和(bc)的交点,以及点i,两条对角线(ac)和(bd)的交点。要投影为abcd,中心的平行四边形i必须位于一个平面上,该平面包含通过点i与(uv)平行的线。在一个这样的平面上,可以找到许多投影到abcd的矩形,它们都具有不同的w/h比率。 请参阅这两张使用cabri 3d完成的图像。在这两种情况下,abcd未更改(在灰色z=0平面上),并且包含矩形的蓝色平面也未更改。部分隐藏的绿线是(UV)线,可见绿线与之平行,包含i。
|
|
|
3
1
尺寸不是真正需要的,比例也不是。考虑到他使用的是文件的照片/扫描,知道哪一边是不相关的。我怀疑他会扫描它们的背面。 “转角交叉”是纠正透视的方法。这可能有帮助: |
|
|
4
1
关于为什么结果给出h/w而不是w/h的问题: 我想知道上面等式20的表达式是否正确。 张贴的是:
当我尝试用opencv执行它时,会得到一个异常。但当我使用下面的等式时,一切都是正确的,对我来说,它更像等式20: 但是根据公式20,它看起来应该是:
|
|
|
5
1
你可以通过这个答案来确定宽度/高度。 Calculating rectangle 3D coordinate with coordinate its shadow? .假设你的矩形在交叉点上旋转,计算它的宽度和高度。但是,当您将假设阴影平面之间的距离更改为实际阴影平面时,矩形的比例与计算的宽度/高度相同! |
|
|
6
0
不知道“摄像机”的距离就不可能知道这个矩形的宽度。 从5厘米远的地方看,一个小矩形和从几米远的地方看一样。 |
|
|
7
0
画一个右等腰三角形,其中有两个消失点和地平线下的第三个点(即,与矩形在地平线的同一侧)。第三个点是我们的原点,到消失点的两条线是我们的轴。从原点到消失点的距离称为pi/2。现在,将矩形的边从消失点扩展到轴,并标记它们与轴相交的位置。选取一个轴,测量从两个标记到原点的距离,将这些距离转换为:x->tan(x),差就是该边的“真实”长度。对另一个轴执行相同的操作。取这两个长度的比值,就可以了。 |
|
8
0
您需要更多的信息,转换后的图形可以来自任意角度的任意平行四边形。 所以我想你需要先做些校准。 编辑: 对于那些说我错了的人,下面是数学证明,有无限多的矩形/照相机组合产生相同的投影:
为了简化问题(因为我们只需要边的比例),假设我们的矩形由以下点定义:
变换后的多边形定义为:
存在一个变换矩阵
如果我们把上面的方程推广到这些点上,
对于
对于
对于
为了
到目前为止,我们有12个方程,14个未知变量(9个来自矩阵,4个来自
即使系统没有被低估,一些未知数也会彼此相乘。(
如果你能在推理或数学上发现任何缺陷,请告诉我。 |
|
|
9
0
Dropbox在他们的技术博客上有一篇广泛的文章,描述了他们如何解决扫描仪应用程序的问题。 https://blogs.dropbox.com/tech/2016/08/fast-document-rectification-and-enhancement/
|
|
|
10
0
在这个有趣的问题上似乎仍然有些困惑。我想给出一个简单易懂的解释,说明问题何时可以解决,何时不能解决。 约束和自由度 通常,当我们面临这样一个问题时,首先要做的是评估未知自由度(自由度)n的数量,以及约束未知自由度的独立方程m的数量。如果n超过m,就不可能解决问题(意味着约束比未知少)。在这种情况下,我们可以排除所有无法解决的问题。如果n不超过m,则 可以 可以用唯一的解决方案来解决问题,但这是不保证的(请参阅第二段到最后一段的示例)。 让我们使用 磷 1, 磷 2, 磷 3和 磷 4表示平面四角在世界坐标系中的位置。让我们使用 R 和 T 将这些转换为相机坐标的三维旋转和平移。让我们使用 K 表示3x3_摄像机固有矩阵。我们暂时不考虑透镜变形。的二维位置 我 相机图像的第个角由 Q I= f K ( RP I+ T ))其中f是投影函数f(x,y,z)=(x/z,y/z)。利用这个方程,我们知道图像中的每个角给了我们两个未知的方程(即两个约束):一个来自 Q i和y分量中的一个。所以我们总共有8个约束要处理。这些约束的正式名称是 重投影约束 . 那么,我们未知的自由度是什么呢?当然 R 和 T 未知,因为我们不知道摄像机在世界坐标中的姿态。因此,我们已经有6个未知的自由度:3用于 R (例如横摆、纵摇和横摇)和3 T 因此 二 剩余术语中的未知数( K , 磷 1, 磷 2, 磷 三, 磷 4) 不同的问题 我们可以构造不同的问题,这取决于( K , 磷 1, 磷 2, 磷 三, 磷 4)我们将视为未知。现在让我们写出 K 以通常的形式: K =(fx,0,cx;0,fy,cy;0,0,1),其中fx和fy是焦距项(fx/fy通常称为图像纵横比),并且(cx,cy)是主点(图像中的投影中心)。 我们可以通过让fx和fy作为我们的两个未知数来获得一个问题,并假设(cx,cy, 磷 1, 磷 2, 磷 三, 磷 4)都是已知的。事实上,这个问题在OpenCV的相机校准方法中得到了应用和解决,使用的是棋盘平面目标的图像。通过假设主点位于图像中心(这对大多数相机来说是一个非常合理的假设),可以得到fx和fy的初始估计值。 或者,我们可以通过假设fx=fy来创建一个不同的问题,这对于许多相机来说也是非常合理的,并且假设这个焦距(表示为f)是 只有 未知的 K . 因此,我们还有一个未知数需要处理(回想一下,我们最多可以有两个未知数)。所以让我们假设我们知道平面的形状:作为一个矩形(这是问题的最初假设)。因此,我们可以将角定义为: 磷 1=(0,0,0), 磷 2=(0,W,0), 磷 3=(H,0,0) 磷 4=(h,w,0),其中h和w表示矩形的高度和宽度。现在,因为我们只剩下1个未知的,让我们把它设为平面的展弦比:x=w/h。现在的问题是,我们能同时恢复x,f吗? R 和 T 来自8个重投影限制?答案是肯定的!在张的论文中给出了这个问题的答案。 尺度模糊 如果我们假设 K 已知,2个未知数是h和w。它们能从重射方程中解出来吗?答案是否定的,这是因为平面的大小和平面到相机的深度之间存在模糊性。特别是如果我们缩放角落 磷 I按S和比例 T 在重射方程中,用s,然后s消去。因此,平面的绝对尺度是不可恢复的。 对于未知的自由度,可能存在其他不同组合的问题,例如 R , T ,其中一个主点分量和平面的宽度未知。然而,我们需要考虑哪些情况是实际使用的。不过,我还没有看到针对所有有用组合的系统解决方案集! 更多点 我们可能认为,如果我们在平面和图像之间增加额外的点对应,或者利用平面的边缘,我们可以恢复8个以上的未知自由度。遗憾的是,答案是否定的,这是因为它们没有添加任何额外的独立约束。原因是4个角描述了 完全地 从平面到图像的转换。这可以通过使用四个角来拟合一个同形矩阵来看到,这可以确定图像中平面上所有其他点的位置。 |
|
|
VeceluXa · 在Android中将黑白位图转换为单通道JPEG 1 年前 |
|
|
Mohamed Obeid · 在灰度图像上散射网格 2 年前 |
|
|
Pete · 三维体积与其主轴对齐 2 年前 |
|
|
Doofenmirtz Mirtz · 录制视频中特定对象的角度检测 2 年前 |