0

私は Matlab の初心者でmakehgtform、imresize3d.m を使用して変換構造を作成しようとしていますが、問題が発生しました:

Error using makehgtform (line 100)
Scale factors must be either 1D or 3D

それはどういう意味ですか?はimresize3d内の関数で、ASM_MakeAppearanceModelscale の変数は 5double型です。そして、それは私に以下のようなエラーを与えました。

Error in imresize3d (line 28)

コード: T = makehgtform('scale',scale);

これについて助けが必要です。この問題を解決する方法を検索しようとしていますが、見つかりません。

ありがとうございました。

4

1 に答える 1

0

これまで Matlab を使用したことはありませんが、グラフィックス ライブラリを使用したことがあります。

通常、スケーリング変換では、3 つの次元すべて (5、5、5) に統一された尺度が適用されるか、各次元 (3、5、2) に異なる尺度が適用されます。

したがって、これに続く 1D または 3D リクエストは、単一の数値 (最初のタイプのスケーリングの場合) または 3 つの数値 (2 番目のタイプのスケーリングの場合) のリクエストである可能性が高くなります。

メソッドのタイプを考えると、2 番目のパラメーターに指定できる値は 1 つのみであるため、配列が期待されるのではないかと思われます。

単純に数字を入力するのではなく、配列に数字を入力してみてください。

makehgtform('スケール', [3]);

これが機能しない場合、入力タイプが受け入れられていない可能性がありますか? 私は float を試してみます。これは多くの場合、数値型をサポートする最もサポートされている 10 進数です。

于 2013-03-04T12:43:58.880 に答える