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

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

coldplay.xixi
Freigeben: 2020-09-14 13:13:15
nach vorne
4752 Leute haben es durchsucht

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复制代码
    Nach dem Login kopieren
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复制代码
    Nach dem Login kopieren
  • 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)复制代码
    Nach dem Login kopieren
    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)复制代码
    Nach dem Login kopieren
    Bild anzeigen

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

    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!

    Verwandte Etiketten:
    Quelle:juejin.im
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage