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

时间:2015-04-17 18:12:43

标签: image matlab tilde

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

 I= bwmorph(~I, 'thin', inf);
 I=~I;

我的问题是,代字号在这里是什么意思?

4 个答案:

答案 0 :(得分:6)

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

~当运算符返回它所调用的矩阵的布尔形式时,原始矩阵中1的结果矩阵为0,否则为0。 / p>

示例:

a = magic(2)
a =

     1     3
     4     2

~a
ans =

     0     0
     0     0

另一:

b = [4,0,5,6,0];
~b
ans =
 0     1     0     0     1

答案 1 :(得分:4)

在你的问题中,正如已经说过的那样,它是逻辑非运营商。

但是,我的研究让我来到这里,就我而言,答案是(这比你的问题更为笼统):

  

参数占位符

     

让fileparts函数返回其第三个输出值并跳过   前两个,用波形符替换参数一和二:

[~, ~, filenameExt] = fileparts(fileSpec);

有关详细信息,请参阅MATLAB编程文档中的Ignore Function Inputs

来源:MATLAB Operators and Special Characters

答案 2 :(得分:2)

~ is the logical NOT operator in MATLAB。我从未使用过bwmorph函数,但是从文档中可以看出第一个输入参数是二进制图像。

~I将做什么(理论上,无论如何)返回一个NxNx3数组,其中1I的RGB值为0

更小的例子:

A = [50, 200, 67; 12, 0, 0];

test = ~A;

返回:

test =

     0     0     0
     0     1     1

答案 3 :(得分:0)

~只不过是Matlab中的Not运算符。