Opencv - 在python中将图像转换为任意位深度

时间:2012-11-07 20:56:11

标签: python image opencv

我得到了一个分配,我必须将8位灰度图像转换为10,7,4,3和1位表示。

由于opencv似乎没有提供与8,16,32等不同的位深度,所以我不知道如何实现这一点。

基本上我需要的是一种减少像素中包含的信息量的方法,直到我最终得到黑白图像(1位表示)。

编辑:我不确定转换应该如何工作,但我猜我们需要执行右移操作。那样

0b11111111

最终将成为

0b1

问题是opencv会理解为:

0b00000001

这不会让我留下我应该的黑白图像。

如果你有时间,理论上会解释这个过程here

1 个答案:

答案 0 :(得分:1)

您可以使用convertScaleAbs轻松地将图像缩放到8位,然后您可以进行位移或除可缩小到更少的位。

如果你想转换为1位,有些算法会选择一个最佳值,而不仅仅是> 128 = 1和<128 = 0