这句话是什么意思???
[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/