2017-12-18 306 views

回答

2
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 
+0

我有向量[0.0.1.0.1.0.0],並且當我設置閾值> 127時它顯示錯誤。這是什麼意思,因爲我無法理解輸出。 –

+0

真== 1和假== 0,我已經更新了示例,實際顯示0和1 – Lanting

+0

,所以在這種情況下,它將永遠不會> 127,因爲所有位都是0和1.所以輸出將始終爲假。這是否意味着我無法創建灰度像素? –