gpt4 book ai didi

matlab - 投影矩阵符号混淆(编辑标题)

转载 作者:行者123 更新时间:2023-12-02 06:55:44 24 4
gpt4 key购买 nike

向下,我编辑了我的问题。 我将 Wxyz 投影到图像(u,v)并得到一些错误的结果。我无法弄清楚哪里出错了。请大家帮忙解答一下。

给定:

Wxyzz =       386.06       197.02      -1821.8            1       407.32         -108      -1859.1            1       4.9764       290.92      -1531.2            1       103.39      -233.07      -1643.2            1        189.7       320.19      -1667.9            1       76.279        147.9      -1597.2            1       47.798      -319.51      -1605.8            1       164.74       -223.1      -1688.6            1       482.06      -251.66      -1921.2            1       226.42      -213.27      -1733.6            1
Wxyz=Wxyz' %';
%# intrinsic

fu = 2640; fv =2640; uo= 1514; vo = 994;

A= [ fu 0 uo 0
0 fv vo 0
0 0 1 0
0 0 0 1];

Exterior=[-6.6861,12.6118,-8.0660,[-0.4467,-0.3168,0.2380]*pi/180];%# deg 2 rad
%#data
X0=Exterior(1);
Y0=Exterior(2);
Z0=Exterior(3);
ax=Exterior(4);
by=Exterior(5);
cz=Exterior(6);
%#Rotation in X

Rx = [1 0 0
0 cos(ax) -sin(ax)
0 sin(ax) cos(ax)];


%#Rotation in Y
Ry = [cos(by) 0 sin(by)
0 1 0
-sin(by) 0 cos(by)];


%#Rotation in Z
Rz = [cos(cz) -sin(cz) 0
sin(cz) cos(cz) 0
0 0 1];
R=Rx*Ry*Rz;

T=[X0;Y0;Z0];
Extrinsic= R';
Extrinsic(:,4) = -(R')* (T);
Extrinsic(4,:) = [0 0 0 1]


PImage = A* Extrinsic* Wxyz;

%#Obtain the X's
PImage(1 ,:) = PImage(1 ,:) ./ PImage(3 ,:);
%#Obtain the Y's
PImage(2 ,:) = PImage(2 ,:) ./ PImage(3 ,:);

我正在获取

PImage =       955.93       707.43      -1814.4            1       939.75       1147.6      -1854.2            1       1506.3       490.36        -1521            1       1352.7       1370.2      -1637.6            1       1213.9       485.04      -1658.4            1       1389.7       749.08      -1588.5            1       1440.9       1521.6      -1600.6            1       1261.2       1344.2      -1683.2            1       857.22         1340      -1917.8            1       1173.9       1319.9      -1728.5            1

我应该得到(真正的二维点)

img =       2072.8       706.69       2088.9       1146.9       1522.6        489.6       1676.1       1369.5       1814.9        484.3       1639.2       748.35       1587.9       1520.9       1767.6       1343.5       2171.4       1339.3       1854.9       1319.2

如果我使用 A= [ -fu 0 uo 0 0 声音 0 0 0 1 0 0 0 0 1];我得到正确的答案。我不知道旋转或平移的错误在哪里;为什么 Pimage(:,1) 与 img(:,1) 不同。任何帮助将不胜感激。

最佳答案

您已经完成了旋转,并且已经完成了转换。你需要做的就是投影!现在我不知道你到底想完成什么,但我在任何地方都没有看到投影矩阵。所以这是你需要解决的第一件事。

请记住,进行投影是 R4 -> R4 操作。如果您试图获得 R2 向量,那么您就是在尝试做其他事情(更多)。

查看更多信息 wikipedia .

如果你确实想了解详情,可以观看学习,有礼YouTube

关于matlab - 投影矩阵符号混淆(编辑标题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5951414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com