Ich habe ein Bild in numpy mit einigen Pixeln in meinem resultierenden Array gelesen.Gibt es eine bequeme Möglichkeit, eine Nachschlagetabelle auf ein großes Array in numpy anzuwenden?
ich eine Lookup-Tabelle mit 256 Werten berechnet. Jetzt möchte ich folgendes tun:
for i in image.rows:
for j in image.cols:
mapped_image[i,j] = lut[image[i,j]]
Ja, das ist im Grunde, was ein lut tut.
Nur Problem ist: Ich möchte es effizient zu tun und rufen Sie diese Schleife in Python wird mich warten, für einige Sekunden, bis es zu beenden.
ich von numpy.vectorize()
wissen, es ist einfach eine Komfortfunktion, die den gleichen Python-Code aufruft.
* face-Schreibtisch * Das ist so einfach, ich könnte schreien. Ich habe die ganze Zeit in die andere Richtung gedacht und es wird nicht funktionieren. Aber numpy macht Dinge elementweise, also ist das die offensichtliche Lösung. Vielleicht war ich gestern zu müde. ;) – Profpatsch
Eigentlich scheint es auch für mehrdimensionale LUTS zu funktionieren, zumindest mit numply 1.9.2 – Claude
Sehr elegante Lösung, danke! – gcucurull