Ich benutze Pillow, um auf jedes Pixel eines Bildes zuzugreifen und die RGB-Werte durch die Elemente einer Liste zu ersetzen.Python numpy array merging manipulation
Ich denke jedoch, dass diese Methode ziemlich langsam ist, und ich lese, dass ein viel schnellerer Weg es zu tun ist, numme Arrays zu verwenden.
Ich konvertiere das Bild in ein numpy Array mit Form (x, y, 3), aber ich weiß nicht, wie man es mit meiner Liste "merge". Zum Beispiel habe ich eine Liste mit 20 Elementen, also möchte ich die ersten 20 Elemente in meinem Array durch die in meiner Liste ersetzen, ohne die Form meines Arrays zu ändern.
Mein Array sieht wie folgt aus:
[[[121, 222, 222], [1, 1, 1],...]]
Und ich habe eine Liste wie:
[120, 99, 0, 88, 78, 32, 123,...]
Die endgültige Array sollte wie folgt aussehen:
[[[120, 99, 0], [88, 78, 32], [123, ..., ...],...]]
Die Liste ist kürzer als das Array. Wenn die Liste endet, sollten die folgenden Elemente des Arrays unverändert bleiben.
Ich versuchte zu erklären, so gut ich konnte, ist etwas unklar ist, lass es mich wissen.
Vielen Dank im Voraus.
Danke, das funktioniert. In meinem Fall werden die Elemente der Liste jedoch erzeugt, indem bitweise Operationen an den Elementen des Arrays ausgeführt werden. Insbesondere habe ich eine Liste mit Bits, und ich möchte jedes Element des Arrays ändern, um das Bit in der Liste als LSB zu haben. –
@FrancescoCarzaniga Wichtige Bits wie diese sollten in der Frage im Vorfeld erwähnt werden. Hoffentlich würden Sie das in Ihren zukünftigen Fragen berücksichtigen.Im Moment bearbeiten Sie bitte die Frage mit diesen Details und zeigen uns freundlicherweise mehr geeignete/repräsentative Beispieleingaben und erwartete Ergebnisse. – Divakar
Ja, es stimmt, es tut mir leid, aber dank Ihrer Antwort habe ich eine Lösung für mein spezifisches Problem gefunden. Danke dir nochmal! –