Ich verwende die folgende Funktion mit python2.7:Wie konvertiert man ein numpy.array in eine Binärdatei?
def array2int(pixels):
out = 0
for bit in pixels:
out = (out << 1) | bit
return out
die in der Regel funktioniert, aber wenn ich
v=np.array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
array2int(v.astype(int))
Pass gibt es -262145
.
'out = (out << 1) | int (bit) 'ist eine schnelle Lösung –
Sie könnten auch versuchen:' int ("". join (map (str, v)), 2) ' – pault
@pault funktioniert nicht für booleans, hart ;-) –