2013-03-04 3 views
0

내가 matlab에에서 초보자 그리고 난 imresize3d.m에서 makehgtform를 사용하여 변환 구조를 만들려고해야하지만 그것은 나에게 문제가 준 : 그 뜻이 무엇인지스케일 팩터는 1D 또는 3D

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

을 ? imresize3dASM_MakeAppearanceModel 내부의 함수이고 축척의 변수는 5이며 double 유형입니다. 그리고 그것은 아래와 같은 오류를주었습니다.

Error in imresize3d (line 28) 

코드 : T = makehgtform('scale',scale);

나는이 도움을 필요로, 나는이 문제를 해결하는 방법을 검색하기 위해 노력하고있어하지만 난 그것을 찾을 수 없습니다.

감사합니다.

+0

입력란을 사용하여이 오류를 복제 할 수 없습니다. 명령 줄에서 직접 입력 해보십시오. 크기가 두 배이면 제대로 작동합니다. 변수 "scale"이 makehgtform에 도달하기 전에 다른 곳에 덮어 쓰지 않는지 확인하십시오. 예를 들어 "dbstop if error"를 사용하고 imresize3d.m을 다시 실행하면 어떻게되는지 확인하십시오. – nkjt

답변

0

이전에 Matlab을 사용하지는 않았지만 그래픽 라이브러리로 작업했습니다.

일반적으로 크기 조정 변환을 사용하면 통일 된 눈금이 3 차원 (5, 5, 5) 모두에 적용되거나 각 눈금 (3, 5, 2)에 다른 눈금이 적용됩니다.

따라서 1D 또는 3D 요청은 단일 숫자 (첫 번째 형식의 경우) 또는 3 개의 숫자 (두 번째 형식의 경우)에 대한 요청 일 가능성이 큽니다.

메서드의 유형이 주어지면 두 번째 매개 변수에 대해 1 개의 값만 주어질 수 있습니다. 그러면 배열이 예상 될지도 모릅니다.

단순히 번호를 입력하는 대신 배열에 번호를 입력 해보십시오.

makehgtform ('scale', [3]);

그래도 작동하지 않으면 입력 유형이 허용되지 않습니다. 나는 float을 시도 할 것이고, 이것은 종종 숫자 타입을 지원하는 가장 지원되는 10 진수이다.

+0

도움을 주셔서 감사합니다. – user1146895

관련 문제