关于maketform () & tformarray ()

2视图(30天)
雪利酒
雪利酒 2015年8月1日
评论道: 雪利酒2015年8月2日
你好,
我遇到一个问题的理解3 d 2 d转换利用tformarray()函数。我的问题是为什么翻译是68.5保持阵列坐标积极(以粗体显示)?在这里得到这个临界值的方程吗?
很多谢谢!
雪莉
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
这里有一些相关的代码,你也可以得到完整的信息通过点击这个:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
步骤3:使用TFORMARRAY从水平切片中提取矢状切片
tformarray () 3 d适用于二维转换。
我们想创建一个图像:
尺寸1:优于低(原始维度4,逆转)
维度2:尾吻侧(原始维度1)
和提取一个矢状平面通过原始维度2,我们指定tdims_a = [4 1 2]。我们创建一个tform通过成分从尺度的二维仿射变换T1(新)维度1的-2.5倍 增加了68.5保持阵列坐标的积极转变 。第二部分的复合是一个自定义变换T2提取64使用一个非常简单的INVERSE_FCN矢状面。
T1 = maketform (仿射的(-2.5 0;0 1;* 68.5 * 0]);
inverseFcn = @ (X, t) [X repmat (t.tdata,[大小(X, 1) 1]));
T2 = maketform (“自定义”inverseFcn 3 2 [], 64);
Tc = maketform (“复合”,T1, T2);
R3 = makeresampler ({“立方”,“最近的”,“最近的”},“填满”);
tformarray D的三维空间变换到一个二维输出在一个单一的步骤。我们的输出图像是66 -,- 128,与原来的27飞机在垂直扩展到了66 (inferior-superior)方向。
M4 = tformarray (D, Tc, R3, [4 1 2], [1 - 2], [66 - 128], [], 0);
结果与之前的相同imtransform的输出。
图,imshow (M4,地图);
标题(“矢状TFORMARRAY”);

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2015年8月1日
尺寸比例是-2.5,是什么“正确”的边缘图像的坐标-2.5 *图像的宽度。但是你需要最后协调非负所以你需要多(2.5 *宽度)结果转移到正确的非负。我没有跟踪通过尺寸算出准确的最终坐标。
添加一个正确的转变是乘法的一个负面因素。
1评论
雪利酒
雪利酒 2015年8月2日
非常感谢你!也许你对的因为-2.5 * 27(帧)= -67.5,68.5,我们添加一个转变的最终值1(-67.5 + 68.5),这是积极的。

登录置评。

更多的答案(0)

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!