【发布时间】:2021-10-01 18:43:27
【问题描述】:
【问题讨论】:
-
原装传感器的分辨率是多少?恕我直言,这看起来像是您使用了 32 位或 64 位传感器并将其保存或加载为 8 位。如果您的输入是 png 或 tiff,您可以检查在 irfanView 或 GIMP 中显示它是否没有条带。如果是这种情况,您可以使用 opencv 的 imread 参数以全精度加载,而不是(默认)加载为 3 通道 8 位。
-
@Micka:条带与分辨率损失无关(顺便说一句,没有什么像 32 或 64 位传感器,16 位是例外的)。 256 个灰度级足以使人眼无法察觉这些波段。
-
是的,抱歉,我的意思是“超过 8 位”,就像非常古老的 kinect 传感器一样,它提供 13 位嵌入到 16 位中。我认为 ToF 或激光雷达可能会返回更高的数据深度深度图。如果在没有足够数据深度的情况下表示深度图,您将看到条带,例如在渲染(z 缓冲)中:upload.wikimedia.org/wikipedia/commons/4/4e/Z_buffer.svg
-
也许你应该研究一下抖动
-
只是猜测......您的
.png是 621x615(和 8 位 RGBA)。通常,来自传感器的数据[至少]具有偶数个像素/行和偶数行。几何对我来说似乎很奇怪。此外,您将显示 RGBA 图像。 [看似] 黑白传感器的确切像素格式是什么?也就是说,(例如)16 位存储单元中的 13 位(ala Micka)。你是如何重新缩放/转换原始黑白像素[到(例如)全范围 16 位]?当我做这样一个项目时,如果我没有正确执行此操作(例如饱和度等),我会得到人工制品
标签: python c++ opencv image-processing