为像素分配负值

Sim*_*ity 0 matlab opencv image pixel image-processing

使用一些标准,图像中有一些我不感兴趣的像素。所以,我想忽略它们。我只是想问我所遵循的方法是否可以接受。我已经为这些像素分配了一个负值。那可以接受吗?并且,当像素具有负值时,这意味着什么?它会在图像上有一些表示吗?

BCo*_*nic 5

如果您的数据类型允许,例如有符号整数 (CV_32S) 或浮点数(CV_32F 或 CV_64F),则使用负值非常有意义,并且这是指定忽略像素的一种非常常见的方法。在这种情况下,负值除了您对其的解释之外没有特殊含义。

另一方面,如果您使用 8 位无符号图像 (CV_8U),这可能会导致错误:根据您的 opencv 版本,它可能会被截断为零或使用模 256 加法转换为 [0,255]。在最坏的情况下,如果您以非常糟糕的方式访问像素数据,它也可能溢出到相邻像素并修改它们的值。因此,如果您使用 8 位图像,您应该使用掩码来指定忽略的像素,正如 phyrox 所解释的那样。