Computer Vision Tutorial-Reihe M1C1
Modul 1 – Bilddarstellung und -klassifizierung
Kapitel 1 – Einführung in Computer Vision
Mit diesem Artikel starte ich eine neue Serie für diejenigen, die sich für Computer Vision interessieren.
Warum Lebenslauf lernen?
Nun, Computer Vision ist eine Kunst, mit deren Hilfe man dem Computer hilft, die visuelle Welt zu verstehen. Es gibt viele reale Beispiele für Computer Vision, die wir in unserem täglichen Leben verwenden. Wenn Sie auf ein Selfie klicken, warum erscheint ein kleines Quadrat auf Ihrem Gesicht? Wenn Sie ein Dokument scannen, werden die Kanten der Dokumente bereits erkannt. Wie ändern Streamer ihren Hintergrund und wie hat Tesla selbstfahrende Autos entwickelt? Es ist den Fortschritten in der Computer Vision zu verdanken, dass all diese Dinge möglich wurden.
Lernziele:
- Wie lade ich ein Bild mit der CV2-Bibliothek?
- Wahre Natur eines Bildes
- Wie konvertiere ich ein Bild von einem Farbraum in einen anderen?
- Wie vergleiche ich RGB- und BGR-Kanäle?
- Wie plotte ich ein Bild, indem ich ein Array erstelle?
- Wie vergleiche ich verschiedene Kanäle eines einzelnen Farbraums?
- Importe
#Imports
import matplotlib.pyplot as plt
import numpy as np
import cv2
# load the image
img = cv2.imread('your desired image name')
# Change the image into desired colorspace
grayscale = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
rgb = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
f,(ax1,ax2,ax3) = plt.subplots(1,3,figsize=(30,8))
ax1.set_title('BGR')
ax1.imshow(img)
ax2.set_title('RGB')
ax2.imshow(rgb)
ax3.set_title('GRAY')
ax3.imshow(grayscale,cmap='gray')
Output
Jedes Bild, das wir auf dieser Welt sehen, ist nichts anderes als eine Reihe von Zahlen mit unterschiedlichen Wertebereichen, abhängig von den von uns verwendeten Farbräumen. Für den RGB-Farbraum hat beispielsweise jeder Änderungswert einen Bereich von 0–255, während der Farbtonkanal im HSV-Kanal einen Bereich von 0–180 hat.
Um die Form des Bildes zu ermitteln, führen Sie den folgenden Befehl aus:
print(img.shape)
>>(2160, 4096, 3)
print(img[:1,:1])
>>[[[55 24 1]]]
Um den Wert eines Pixels in einem Graustufenbild zu ermitteln, verwenden Sie
x,y = 1000,1000
at_1000 = grayscale[x,y]
print(at_1000)
>>60
grayscale[1000,1000,]
>>60
Lassen Sie uns das Alphabet S mithilfe eines Numpy-Arrays generieren.
Letter_S = np.array([[255, 0, 0, 0, 255],
[255, 0, 255, 255, 255],
[255, 0, 0, 0, 255],
[255, 255, 255, 0, 255],
[255, 0, 0, 0, 255]])
plt.imshow(Letter_S,cmap='gray')
# Exchange 0's and 255's to see the change
Output
# Store values of each channel in different array
r = rgb[:,:,0]
g = rgb[:,:,1]
b = rgb[:,:,2]
fig, (ax1,ax2,ax3) = plt.subplots(1,3,figsize=(20,10))
ax1.set_title('R Channel')
ax1.imshow(r, cmap='gray')
ax2.set_title('G Channel')
ax2.imshow(g,cmap='gray')
ax3.set_title('B Channel')
ax3.imshow(b,cmap='gray')
Output
Einpacken
Damit haben wir unsere Lernziele für diese Lektion erreicht.
Ich habe den Code hier als Referenz hochgeladen, und hier ist das Notizbuch .
Bevorstehende:
Die Streamer im Livestream verwenden einen Greenscreen, um ihren Hintergrund zu ändern, aber wissen Sie, warum ein Greenscreen verwendet wird?
- Die Antwort auf diese Frage erhalten Sie im nächsten Notizbuch, und wir werden auch den Hintergrund des Bildes ändern.
Bis dahin folgen Sie mir für mehr und vergessen Sie nicht, sich mit mir auf LinkedIn zu vernetzen.❤❤❤

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































