matlab - : [M N ~] = size(imge);? 的 MATLAB 语句是什么

标签 matlab

这句话是什么意思???

[M N ~] = size(imge);

我不明白为什么要用这个“~”,而且这个语句还报错。

最佳答案

在 2009b 之后的 MATLAB 版本中,您可以使用波浪号 (~) to ignore outputs which you don't need .如果它给你一个错误,这意味着你的版本不支持波浪号的这种使用,你必须用一个虚拟变量名来替换它:

[M N dummy] = size(imge);

正如 Sumona 所解释的,M 将包含图像中的行数,N 将包含列数; dummy 将为 1(对于一张黑白图像)、3(对于一张彩色图像)或任意整数(对于图像堆栈)。

通常只有在您之后对其他参数感兴趣时才使用波浪号才有意义。 size 是一个异常(exception),因为它检查(使用 nargout)它应该产生多少输出并相应地改变它的行为,as documented here. .

也就是说,

test = zeros(3,4,5);
[M N dummy] = size(test);

如预期的那样产生 M=3,N=4,但是

test = zeros(3,4,5);
[M N] = size(test);

产生 M=3,N=20。

在您的特定情况下,我假设 imge 是一个图像堆栈,程序员想要找出单个图像的大小,而不是有多少。

关于matlab - : [M N ~] = size(imge);? 的 MATLAB 语句是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6766330/

相关文章:

java.library.path,类路径 Netbeans 8.0.2

Linux 与 Windows 在 MatLab 中执行 lsqcurvefit 和 importdata

c - mex:计算权;但是,我得到了错误的输出

c - matlab 与 C 版本中的 svmtrain 函数执行时间

matlab - 用颜色显示的单 channel png

Matlab:向二维图添加第三维

matlab - 我可以在 Matlab 中将 'not' 用作离散狄拉克增量函数吗?

matlab - 使用 accumarray MATLAB 时改进代码/删除 for-loop

macos - matlab 上的 winopen for mac

c++ - 特征:在复杂矩阵上选择函数