matlab - 函数strel输入类型错误
matlab - function strel input type error
当我尝试 se = strel('square', 2.4);
时,出现此错误:
??? Error using ==> iptcheckinput
Function STREL expected its second input, SIZE, to be integer-valued.
Error in ==> strel>ParseInputs at 1154
iptcheckinput(M, {'double'}, {'scalar' 'integer' 'real' 'nonnegative'}, ...
Error in ==> strel>strel.strel at 146
[type,params] = ParseInputs(varargin{:});
于是,我把输入值2.4
改成了int8(2.4)
,又出现了一个错误:
??? Error using ==> iptcheckinput
Function STREL expected its second input, SIZE,
to be one of these types:
double
Instead its type was int8.
Error in ==> strel>ParseInputs at 1154
iptcheckinput(M, {'double'}, {'scalar' 'integer' 'real' 'nonnegative'}, ...
Error in ==> strel>strel.strel at 146
[type,params] = ParseInputs(varargin{:});
我认为2.4
是double类型而int8(2.4)
是整数,对吧?
所以我无法理解那些错误。
我希望 strel('square', 2.4)
成为 strel('square', 2)
。
我该怎么办?这个错误是什么意思?
要将2.4
更改为2
,您可以使用fix
函数。例如:
fix(2.4) == 2 // true
所以,编写如下代码:
strel('square', fix(2.4))
当我尝试 se = strel('square', 2.4);
时,出现此错误:
??? Error using ==> iptcheckinput
Function STREL expected its second input, SIZE, to be integer-valued.
Error in ==> strel>ParseInputs at 1154
iptcheckinput(M, {'double'}, {'scalar' 'integer' 'real' 'nonnegative'}, ...
Error in ==> strel>strel.strel at 146
[type,params] = ParseInputs(varargin{:});
于是,我把输入值2.4
改成了int8(2.4)
,又出现了一个错误:
??? Error using ==> iptcheckinput
Function STREL expected its second input, SIZE,
to be one of these types:
double
Instead its type was int8.
Error in ==> strel>ParseInputs at 1154
iptcheckinput(M, {'double'}, {'scalar' 'integer' 'real' 'nonnegative'}, ...
Error in ==> strel>strel.strel at 146
[type,params] = ParseInputs(varargin{:});
我认为2.4
是double类型而int8(2.4)
是整数,对吧?
所以我无法理解那些错误。
我希望 strel('square', 2.4)
成为 strel('square', 2)
。
我该怎么办?这个错误是什么意思?
要将2.4
更改为2
,您可以使用fix
函数。例如:
fix(2.4) == 2 // true
所以,编写如下代码:
strel('square', fix(2.4))