使用某些标准,图像中有一些我不感兴趣的像素。所以,我想忽略它们。我只是想问一下我遵循的方法是否可以接受。我已经为这些像素分配了一个负值。这可以接受吗?而且,当像素具有负值时,这意味着什么?它会在图像上有一些表示吗?
最佳答案
如果您的数据类型允许,例如有符号整数 (CV_32S) 或浮点数 (CV_32F 或 CV_64F),则使用负值非常有意义,并且这是指定忽略像素的一种非常常见的方法。在这种情况下,除了您对负值的解释外,负值没有特殊含义。
另一方面,如果您使用 8 位无符号图像 (CV_8U),这可能会导致错误:它可能会被截断为零或使用模 256 加法转换为 [0,255],具体取决于您的 opencv 版本。在最坏的情况下,如果您以非常糟糕的方式访问像素数据,它也可能溢出到相邻像素并修改它们的值。因此,如果您使用 8 位图像,您应该使用掩码来指定忽略的像素,正如 phyrox 解释的那样。
关于image - 为像素分配负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21795342/