【问题标题】:what does Tilde image mean in MATLAB?波浪号图像在 MATLAB 中是什么意思?
【发布时间】:2015-06-24 17:45:30
【问题描述】:

我正在使用 Matlab 中的图像处理代码,除非我使用波浪号调用原始图像上的函数,然后将其保存到同一个变量中(在 Internet 上的某个地方找到它),否则细化将不起作用。

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

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

【问题讨论】:

标签: image matlab tilde


【解决方案1】:

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

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

举个小例子:

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

test = ~A;

返回:

test =

     0     0     0
     0     1     1

【讨论】:

    【解决方案2】:

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

    ~ 作为运算符返回它所针对的矩阵的布尔形式,对于原始矩阵中的0,结果矩阵为1,否则为0。

    例子:

    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
    

    【讨论】:

    • @Anna 你应该接受答案。然而,我的研究出于另一个原因将我带到了这个问题,所以请允许我发布一个答案。 :)
    【解决方案3】:

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

    【讨论】:

    【解决方案4】:

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

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

    参数占位符

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

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

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


    来源:MATLAB Operators and Special Characters

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-22
      • 2017-01-28
      • 2013-03-06
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      相关资源
      最近更新 更多