Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern

Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern

coldplay.xixi
coldplay.xixinach vorne
2020-09-14 13:13:154671Durchsuche

Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern

Verwandte Lernempfehlungen: Python-Tutorial

Bildmaske (Bildmaske): Verwenden Sie ein ausgewähltes Bild, eine ausgewählte Grafik oder ein ausgewähltes Objekt, um das zu verarbeitende Bild (teilweise oder vollständig) zu blockieren und das Bild zu steuern Bereich oder Prozess der Behandlung. Da das spezifische Bild oder Objekt, das abgedeckt wird, bei der Bildverarbeitung als Maske bezeichnet wird, besteht ein großer Bedarf an der Maskierung des Bildes. Als nächstes werde ich es anhand des folgenden Bildes einer Katze und eines Hundes demonstrieren.

Erster Blick auf die Renderings:

Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern
Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern
Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern

Python implementiert die Maskenverarbeitung von Bildern.

  • Importieren Sie die erforderlichen Bibliotheken Maske
  • Rundmaske
    • Die Maske wird mit dem Originalbild gespleißt.
    • Bild anzeigen.
    import cv2
    import numpy as np复制代码
Maskenbild erstellen
  • Das Erstellen einer Maske hängt von der Größe des Bildes ab. Natürlich können Sie auch die gewünschte Maske auswählen. Die Masken, die ich hier erstellt habe, sind quadratische Masken und kreisförmige Masken.
  • Quadratische Maske
  • Die Maskenkoordinaten sind [10:170, 50:220].
  • # 创建掩膜
    mask = np.zeros([img.shape[0], img.shape[1]], dtype=np.uint8)
    mask[10:170, 50:220] = 255复制代码
  • Kreisförmige Maske
  • Maskenkoordinaten:

    x = 140

    y = 100

    r = 80cv2numpy,可通过pip install xxx

    # 创建掩膜
    x = 140
    y = 100
    r = 80
    mask = np.zeros(img.shape[:2], dtype=np.uint8)
    mask = cv2.circle(mask, (x, y), r, (255, 255, 255), -1)复制代码
    Die Maske wird mit dem Originalbild gespleißt

    Cv2.add wird verwendet, um das Bild und die Maske zusammenzuführen wird mit dem Originalbild kombiniert. Bilder werden zusammengefügt und zusammengeführt.

    image = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask)复制代码
    Bild anzeigen

    # 展示原图
    cv2.imshow("img", img)
    # 展示掩膜图片
    cv2.imshow("mask", mask)
    # 展示添加掩膜效果图片
    cv2.imshow("image", image)复制代码

    Effektanzeige

    Originalbild:




    Quadratisches Maskenbild:

    Zusammengeführtes Bild mit Originalbild:

    Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern

    Kreisförmiges Maskenbild:

    Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern

    Kreisförmige Maske mit dem Originalbild verschmolzen:

    Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern
    Zusammenfassung

    Das Prinzip der Okklusionsmaske ist sehr einfach: Erstellen Sie zunächst ein Bild und erstellen Sie ein komplett schwarzes Bild von Ändern Sie die gleiche Größe, ändern Sie die Pixel in dem anzuzeigenden Bereich in Weiß und verwenden Sie schließlich cv2.add, um Bild und Maske zu überlagern und eine Okklusionsanzeige des Bildes zu erreichen.

    Wenn Sie mehr über das Erlernen des Programmierens erfahren möchten, achten Sie bitte auf die Spalte „PHP-Schulung“!
    Detaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern

    Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Python-Implementierung der Maskenverarbeitung von Bildern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen