[Python] Zugreifen auf und Zuschneiden von Bildpixeln mit OpenCV (für Anfänger)

Einführung

Ich werde erklären, wie man ein Bild mit OpenCV zuschneidet. Dies ist eine Fortsetzung von Letztes Mal. Wenn Sie also Fragen in diesem Artikel haben, schauen Sie bitte.

Umgebung

MacOS Mojave Python 3.7

Bild verwendet

Verwenden Sie das Bild unten (neko.jpg). neko.jpg

Überprüfen Sie die Größe des Bildes

Sie können die Größe des Bildes mit dem folgenden Code überprüfen.

python


#Bibliothek laden
import cv2
import matplotlib.pyplot as plt

img = cv2.imread("neko.jpg ")
print(img.shape)

Wenn ich den obigen Code ausführe, erhalte ich die folgenden Ergebnisse:

(900, 1600, 3)

Dies bedeutet 900 Pixel vertikal, 1600 Pixel horizontal und 3 Kanäle. Im Fall eines Farbbildes beträgt die Anzahl der Kanäle 3, da es sich um GBR handelt. Bei Graustufen beträgt die Anzahl der Kanäle 1, da es sich nur um den Weißgrad handelt.

Bildkoordinaten

In Opencv sind die Koordinatenachsen des Bildes wie folgt. 座標.png

Wenn die Position (x, y) ist, befindet sich der Ursprung (0,0) oben links, wie in der Abbildung gezeigt. Beachten Sie beim Umgang mit Bildern, dass die Abwärtsrichtung die positive Richtung der y-Achse ist. Die Größe dieses Bildes beträgt vertikal 900 Pixel und horizontal 1600 Pixel, sodass die x- und y-Koordinaten der Endpixel des Bildes 899 bzw. 1599 betragen. Der Grund, warum es nicht 900 oder 1600 wird, ist, dass es vom Ursprung 0 zählt.

Zugriff auf Bildkoordinaten

Wenn Sie die Koordinaten des Bildes wie folgt angeben, können Sie den Farbwert dieser Position abrufen.

python


img = cv2.imread("neko.jpg ")
print(img[450,800])

Ausgabe


[153 161 190]

Dies zeigt an, dass die Farbe der Position an den Koordinaten (450.800) (R, G, B) = (153, 161, 190) ist. Sie können auch mehrere Koordinaten angeben, indem Sie die folgenden Schritte ausführen.

print(img[450:650,800:1000])
[[[153 161 190]
  [153 161 190]
  [152 160 189]
  ...
  [169 178 205]
  [169 178 205]
  [169 178 205]]

 [[152 160 189]
  [152 160 189]
  [153 161 190]
  ...
  [169 178 205]
  [169 178 205]
  [169 178 205]]

 [[151 159 188]
  [152 160 189]
  [154 162 191]
  ...
  [171 178 205]
  [172 179 206]
  [172 179 206]]

 ...
Unten weggelassen. .. ..

Stellen Sie sich das ":" in [] als dasselbe wie das "~" vor, das wir normalerweise verwenden, um einen Bereich von Zahlen darzustellen. Im obigen Beispiel werden die Farbinformationen im Bereich von Koordinaten (450.800) bis (649.999) ausgegeben. 座標_位置指定.png

An jeder Stelle schneiden

Wenn Sie den angegebenen Bildbereich in ein anderes Objekt einfügen, können Sie das Bild mit ausgeschnittener Position abrufen.

python


#Bibliothek laden
import cv2
import matplotlib.pyplot as plt

img = cv2.imread("neko.jpg ")
#Img das angegebene Pixel_Ersatz für Trimmung
img_trim = img[450:650,800:1000]
#Farbe ändern
img_trim = cv2.cvtColor(img_trim, cv2.COLOR_BGR2RGB)
#Anzeige
plt.imshow(img_trim)
plt.show()

切り取り画像.png

Wenn das obige Bild ausgegeben wird, ist es erfolgreich! (Da es sich um eine Tatami-Matte handelt, ist es schwierig zu sagen, ob es ausgeschnitten ist ... lol) Das nächste Mal möchte ich die Arbeit des Knetens erklären, wie das Skalieren und Umkehren des Bildes: erröten:

Ich mache Twitter

Wenn Sie verschiedene Dinge tun möchten, wie Informationen zu zukünftigen Artikeln sowie Fragen und Antworten, folgen Sie mir bitte ...! : erleichtert: https://twitter.com/ryuji33722052

Recommended Posts

[Python] Zugreifen auf und Zuschneiden von Bildpixeln mit OpenCV (für Anfänger)
OpenCV für Python-Anfänger
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
[Bildverarbeitung] Poo-san ist durch Kantenerkennung mit Python und OpenCV nackt!
Hinweise zur Verwendung von OpenCV mit Windows 10 Python 3.8.3.
Implementierung und Beschreibung mit XGBoost für Anfänger
Erstellen eines Markierungsblatts mit Python OpenCV (Tipps zum guten Lesen)
Schätzung der Kopforientierung mit Python und OpenCV + dlib
Kausales Denken und kausale Suche von Python (für Anfänger)
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Python Lehrbuch für Anfänger
Lassen Sie uns Covid-19 (Corona) -Daten mit Python analysieren [Für Anfänger]
Janken Poi in Python für Anfänger (Antworten und Erklärungen)
Grundeinstellungen für die Verwendung von Python3.8 und pip unter CentOS8
Durchsuchen von Pixiv-Tags und Speichern von Illustrationen mit Python
Erweiterbare Skelette für Vim mit Python, Click und Jinja2
Python # So überprüfen Sie Typ und Typ für Super-Anfänger
Lernablauf für Python-Anfänger
Bildbearbeitung mit Python OpenCV
[Python] Verwenden von OpenCV mit Python (Basic)
Probieren Sie die ähnliche Suche von Image Search mit Python SDK [Search] aus.
OpenCV3-Installation für Python3 @macOS
Anwendung von Python: Datenbereinigung Teil 3: Verwendung von OpenCV und Vorverarbeitung von Bilddaten
TensorFlow-Lernmethode für Profis der freien Künste und Python-Anfänger
CNN (1) zur Bildklassifizierung (für Anfänger)
Python3-Umgebungskonstruktion (für Anfänger)
Python #Funktion 2 für Super-Anfänger
Grundlegende Python-Grammatik für Anfänger
100 Pandas klopfen für Python-Anfänger
Python #Funktion 1 für Super-Anfänger
[Python] Einführung in die Diagrammerstellung mit Corona-Virendaten [Für Anfänger]
Python #Liste für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Nehmen Sie Zeitraffer von einer PC-Kamera mit Python, OpenCV auf
Verwenden von OpenCV mit Python @Mac
Automatische Bildinterpolation mit OpenCV und Python (Fast Marching Method, Navier-Stokes)
[Python Machine Learning] Empfehlung zur Verwendung von Spyder für Anfänger (Stand August 2020)
Pydroid 3 - Ich habe die OpenCV- und TensorFlow-Optionen von IDE für Python 3 (Android) ausprobiert.
Erstellen Sie eine gestreifte Illusion mit Gammakorrektur für Python3 und openCV3
Erstellen Sie einen einfachen geplanten Stapel mit Dockers Python Image und parse-crontab
Ich habe das Objekt gerade mit Image Repair (Inpaint) (OpenCV: Python) gelöscht.
Erstellen und testen Sie mit Docker in wenigen Minuten eine OpenCV- und Python-Umgebung
Ausrichten gescannter Bilder von animiertem Videopapier mit OpenCV und Python
[Erklärung für Anfänger] OpenCV-Gesichtserkennungsmechanismus und -praxis (MultiScale erkennen)
Speichern, Wiederherstellen und Abfragen der Suche von Python-Klasseninstanzen mit mongodb
Umgebungskonstruktion von Python und OpenCV
Bilderfassung von Firefox mit Python
Neuronales Netzwerk mit OpenCV 3 und Python 3
Beurteilung des hintergrundbeleuchteten Bildes mit OpenCV
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Authentifizierung mit Tweepy-User-Authentifizierung und Anwendungsauthentifizierung (Python)
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
Persönliche Notizen für die Python-Bildverarbeitung
Python #index für Super-Anfänger, Slices
Empfohlenes Container-Image für Python-Anwendungen
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>