MATLAB,即使我在 imresize 中使用了错误的代码,但它会被执行
MATLAB, even if i use the wrong code in imresize, but it will be executed
我在 MATLAB 中使用 imresize 时使用了双三次作为方法
这是代码。
a = imresize (image, 1/3, 'bicubic');
b = imresize (a, 3, 'bicubic');
效果很好。
不过我在想是不是我写错了,改了方法
a = imresize (image, 1/3, 'bic');
b = imresize (a, 3, 'bic');
我做到了。
但是代码执行了,结果是一样的
如果我使用 'bic' 会不会出现错误?
因为这个有效,我怀疑我的实验数据是正确的。
为什么运行正常?
谢谢。
基于 matlab 文档 bicubic
是此函数的默认值。他们可能会检查传递的值是否是预定义值之一。如果不是这种情况,则应用双三次的默认值。
正如@AnderBiguri 所建议的那样,Mathworks 的某人以您可以输入方法开头的方式完成这项工作。如果你阅读imresize
的代码,你可以在第445行(RS2017b)找到以下函数:
function tf = isMethodString(in)
% abbreviated for sake of clarity
tf = sum(strncmpi(in, valid_method_strings, numel(in));
如果第一个字符唯一地标识方法(并且不区分大小写),则它验证方法。所以 'b' 无效(因为你有 'bilinear' 和 'bicubic'),但是 'bic' 有效,所以 'n'(对于 'nearest') .
我在 MATLAB 中使用 imresize 时使用了双三次作为方法
这是代码。
a = imresize (image, 1/3, 'bicubic');
b = imresize (a, 3, 'bicubic');
效果很好。
不过我在想是不是我写错了,改了方法
a = imresize (image, 1/3, 'bic');
b = imresize (a, 3, 'bic');
我做到了。
但是代码执行了,结果是一样的
如果我使用 'bic' 会不会出现错误?
因为这个有效,我怀疑我的实验数据是正确的。
为什么运行正常?
谢谢。
基于 matlab 文档 bicubic
是此函数的默认值。他们可能会检查传递的值是否是预定义值之一。如果不是这种情况,则应用双三次的默认值。
正如@AnderBiguri 所建议的那样,Mathworks 的某人以您可以输入方法开头的方式完成这项工作。如果你阅读imresize
的代码,你可以在第445行(RS2017b)找到以下函数:
function tf = isMethodString(in)
% abbreviated for sake of clarity
tf = sum(strncmpi(in, valid_method_strings, numel(in));
如果第一个字符唯一地标识方法(并且不区分大小写),则它验证方法。所以 'b' 无效(因为你有 'bilinear' 和 'bicubic'),但是 'bic' 有效,所以 'n'(对于 'nearest') .