Als Python als Fotobearbeitungstool verwendet wurde, stellte ich fest, dass es wirklich einfach zu verwenden war! !

WBOY
Freigeben: 2023-04-13 22:10:01
nach vorne
1007 Leute haben es durchsucht

Heute wird der Herausgeber die spezifische Anwendung von Python in der Bildverarbeitung vorstellen. Da es sich um die Bildverarbeitung handelt, müssen wir das OpenCV-Modul erwähnen, das viele Algorithmen im Zusammenhang mit Computer Vision und maschinellem Lernen unterstützt wächst von Tag zu Tag, und es gibt ungefähr die folgenden Felder.

  • Objekterkennung: Beurteilung von Objekten durch Sehen und interne Speicherung
  • Bildsegmentierung
  • Gesichtserkennung
  • Sicheres Autofahren
  • Mensch-Computer-Interaktion
  • Warten

Natürlich plant der Redakteur dieses Mal nicht mit so etwas Für fortgeschrittene Inhalte beginnen wir heute mit den grundlegenden Operationen von Bildern mithilfe des grundlegendsten OpenCV-Moduls.

Installation von Modulen

Wir alle installieren Module über den Pip-Befehl.

pip install opencv-python
pip install opencv-contrib-python
Nach dem Login kopieren

Verschiedene Operationen an Bildern​

Wenn Sie lineare Algebra studiert haben, ist die positive Matrix nicht unbekannt. Ein Bild ist im Wesentlichen eine Matrix. Ein Graustufenbild ist eine gewöhnliche Matrix, während ein Farbbild eine mehrdimensionale Matrix ist. Unsere Operationen an Bildern können natürlich in Operationen an Matrizen umgewandelt werden.

Lesen Sie das Bild

Zuerst lesen wir das Bild und rufen die Methode cv2.imread() auf. Das Syntaxformat lautet wie folgt:

cv2.imread(filename, flag=1)
Nach dem Login kopieren

Der Flag-Parameter wird verwendet, um das Format des gelesenen Bildes festzulegen. Der Standardwert ist 1 , was bedeutet, dass es im RGB-Dreikanalformat angezeigt wird.

import cv2
import numpy as np
img=cv2.imread('1.jpg', 0)
Nach dem Login kopieren

Das Bild wird hoffentlich angezeigt Die hier verwendete Funktionsmethode ist cv2.imshow(). Das Syntaxformat lautet wie folgt

cv2.imshow(name, img)
Nach dem Login kopieren

Die Parametererklärungen lauten wie folgt:

Name: stellt den Namen des Anzeigefensters dar
  • img: Die Matrixform des Bildes
  • Wir versuchen, das oben gelesene Bild anzuzeigen, der Code lautet wie folgt
cv2.imshow("grey_img", img)
## 如果使用了cv2.imshow()函数,下面一定要跟着一个摧毁窗口的函数
cv2.destroyAllWindows()
Nach dem Login kopieren

Nachdem wir den obigen Code ausgeführt haben, können wir feststellen, dass das Bild in einem Moment auftaucht, aber es hat nicht auf uns gewartet Nachdem wir deutlich gesehen haben, was das ist Bild sieht so aus, schließen Sie es direkt. Der Grund dafür ist, dass die Funktionsmethode cv2.imshow () keine Verzögerungsfunktion hat

Abschließend speichern wir das Bild. Die hier verwendete Funktion lautet cv2.imwrite(). Das Syntaxformat lautet wie folgt:

imgname: Der Name des zu speichernden Bildes img: das Bild Der Beispielcode in Matrixform

Als Python als Fotobearbeitungstool verwendet wurde, stellte ich fest, dass es wirklich einfach zu verwenden war! ! lautet wie folgt:

import cv2
import numpy as np


img = cv2.imread('1.jpg')
cv2.imshow("grey_img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Verschiedene Attribute von Bildern

Manchmal möchten wir die Pixelgröße des Bildes wissen, und das Wesentliche des Bildes ist eine Matrix Beispiel: Ein Bild mit 1024 Pixel * 960 Pixel, nur Dies bedeutet, dass die Anzahl der Zeilen in der Matrix 960 und die Anzahl der Spalten 1024 beträgt. Die im opencv-Modul aufgerufene Funktionsmethode shape () hat den folgenden Code:

cv2.imwrite(imgname, img)
Nach dem Login kopieren

Ausgabe

import cv2
import numpy as np


img = cv2.imread('1.jpg')
cv2.imshow("grey_img", img)
cv2.waitKey(0)
cv2.imwrite('1.png', img)
cv2.destroyAllWindows()
Nach dem Login kopieren
    Sie können sehen, dass die Pixel des Bildes 340 * 380 sind und die Anzahl der Kanäle 3 beträgt. Schauen wir uns für Graustufenbilder die Eigenschaften des Bildes an:
  • import cv2
    
    
    img = cv2.imread('1.jpg')
    print(img.shape[0]) # 行数
    print(img.shape[1]) # 列数
    print(img.shape[2]) # 通道数
    Nach dem Login kopieren
  • Ausgabe
  • 308
    340
    3
    Nach dem Login kopieren
  • Sie können sehen, dass wir bei Graustufenbildern nicht die Kanalnummer, sondern nur die Anzahl der Zeilen und Spalten sehen.

Grundlegende Operationen an Bildern ist nichts anderes, als einige Pixelwerte zu ändern und die Pixelwerte darin zu ändern. Der Code lautet wie folgt:

img = cv2.imread('1_grey.png', 0)
print(img.shape)
Nach dem Login kopieren

Ausgabe

Das obige ist der detaillierte Inhalt vonAls Python als Fotobearbeitungstool verwendet wurde, stellte ich fest, dass es wirklich einfach zu verwenden war! !. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:51cto.com
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!