将8位二进制向量转换为1灰度像素
我有大小为8的二进制向量,即1和0的8位向量。如何将8位向量转换为python中的1位灰度像素?将8位二进制向量转换为1灰度像素
回答:
v = numpy.array([1,0,1,0,1,0,1,0]) g = numpy.sum(2**numpy.arange(8)*v)
对于每个位我们通过取2^0确定其重量,2^1等我们然后采取与我们的位矢量中的权重向量的乘积,和的值相加。
这假设的第一位是最显著一个,通过反转范围也可能是周围的其他方法:
g = numpy.sum(2**numpy.arange(7,-1,-1)*v)
这两个给你范围在0-255一个灰度值。如果你想使这1位,你可以设置它:
g = 1 if (numpy.sum(2**numpy.arange(7,-1,-1)*v) > 127) else 0
以上是 将8位二进制向量转换为1灰度像素 的全部内容, 来源链接: utcz.com/qa/264001.html