Tilde图像在MATLAB中意味着什么?

Ann*_*nna 2 matlab image tilde

我正在研究Matlab中的图像处理代码,除非我用波形符号调用原始图像上的函数然后将其保存到同一个变量(在互联网上找到它),否则稀释将不起作用.

 I= bwmorph(~I, 'thin', inf);
 I=~I;
Run Code Online (Sandbox Code Playgroud)

我的问题是,波浪号在这里做什么/意味着什么?

Sam*_*mal 6

Tilde ~NOTMatlab中的运算符,它对图像没有什么特别之处,它只是将它们视为矩阵.

~当运算符返回它所调用的矩阵的布尔形式时,结果矩阵1用于0原始矩阵,0否则.

例子:

a = magic(2)
a =

     1     3
     4     2

~a
ans =

     0     0
     0     0
Run Code Online (Sandbox Code Playgroud)

另一个:

b = [4,0,5,6,0];
~b
ans =
 0     1     0     0     1
Run Code Online (Sandbox Code Playgroud)


gsa*_*ras 6

如前所述,在您的问题中,这是逻辑而非运算符。

但是,我的研究使我来到了这里,我的答案是(这比您的问题更笼统):

参数占位符

要使fileparts函数返回其第三个输出值并跳过前两个输出值,请用波浪号字符替换参数1和2:

[~, ~, filenameExt] = fileparts(fileSpec);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见MATLAB编程文档中的忽略函数输入


资料来源:MATLAB运算符和特殊字符