Anwendung der verschiedenen Farbkarte zur Maske

Ich habe ein Bild und eine Maske und möchte je nach Maske zwei verschiedene Farbschemata anwenden. Die nicht maskierten Werte werden beispielsweise mit einer grauen Farbkarte und den mit der Jet-Farbkarte maskierten Werten aufgezeichnet.

Ist so etwas in Matplotlib möglich?

  • Kann keine Bilder / Dateien pisa pdf Django python
  • Gelegentliche Ctypen Fehler beim Importieren von nicky aus mod_wsgi django app
  • Override Funktion in Odoo erstellen
  • UnicodeEncodeError in Python auf der Windows-Konsole
  • Was ist ein "Callable" in Python?
  • Laden Sie die Bilddatei aus der HTML-Seite mit python herunter?
  • Python, subprocess, call (), check_call und returncode, um zu finden, ob ein Befehl existiert
  • Python-Thread-Daemon-Eigenschaft
  • One Solution collect form web for “Anwendung der verschiedenen Farbkarte zur Maske”

    Mein Ansatz wäre, ein maskiertes, numpy Array zu kreieren und es auf dem Graustufenbild zu überlagern. Die maskierten Werte setzen sich auf eine Deckkraft von 0 aus und machen sie unsichtbar und zeigen damit das Graustufenbild unten.

     im = np.array([[2, 3, 2], [3, 4, 1], [6, 1, 5]]) mask = np.array([[False, False, True], [False, True, True], [False, False, False]]) # note that the mask is inverted (~) to show color where mask equals true im_ma = np.ma.array(im, mask=~mask) # some default keywords for imshow kwargs = {'interpolation': 'none', 'vmin': im.min(), 'vmax': im.max()} fig, ax = plt.subplots(1,3, figsize=(10,5), subplot_kw={'xticks': [], 'yticks': []}) ax[0].set_title('"Original" data') ax[0].imshow(im, cmap=plt.cm.Greys_r, **kwargs) ax[1].set_title('Mask') ax[1].imshow(mask, cmap=plt.cm.binary, interpolation='none') ax[2].set_title('Masked data in color (jet)') ax[2].imshow(im, cmap=plt.cm.Greys_r, **kwargs) ax[2].imshow(im_ma, cmap=plt.cm.jet, **kwargs) 

    Bildbeschreibung hier eingeben

    Wenn Sie keinen vmin und vmin Wert für imshow , wird die Colormap auf den Min und Maximum aus dem unmaskierten Teil des Arrays ausgedehnt. Um also eine vergleichbare Colormap zu erhalten, die min und max aus dem unmasked Array zu imshow .

    Python ist die beste Programmiersprache der Welt.