我是Matlab的初学者,我正在尝试使用imresize3d.m中的makehgtform
进行转换结构,但它给了我一个问题:
Error using makehgtform (line 100)
Scale factors must be either 1D or 3D
那是什么意思?
imresize3d
是ASM_MakeAppearanceModel
内的函数,scale的变量是double
类型的变量。它给了我如下错误。
Error in imresize3d (line 28)
代码:
T = makehgtform('scale',scale);
我需要帮助,我正在尝试搜索如何解决这个问题,但我找不到它。
谢谢。
答案 0 :(得分:0)
虽然我之前没有使用过Matlab,但我还是使用过图形库。
通常使用缩放变换,可以在所有3个维度(5,5,5)中应用统一比例,或者为每个维度应用不同的比例(3,5,2)。
在此之后,1D或3D请求很可能是对单个数字(对于第一种缩放)或3种数字(对于第二种缩放)的请求。
考虑到方法的类型,看起来第二个参数只能给出一个值,这让我相信可能有一个数组?
因此,不要只是输入您的号码,而是尝试在数组中输入您的号码。
makehgtform('scale',[3]);
如果这不起作用,可能您的输入类型不被接受?我会尝试浮点数,这通常是支持数字类型最支持的十进制数。