Protokoll vom 8. Dezember 2016

Neben ein Paar Download-Problemen mit cv2 (Tipp: über conda installieren (conda install opencv)) haben wir uns heute mit dem Einlesen und der Ausgabe von Bildern beschäftigt, die direkt mit der Kamera aufgenommen oder extern hinzugefügt werden.

# -*- coding: utf-8 -*-
 
import numpy as np
import cv2
import matplotlib.pyplot as plp
 
# Bild 1: wird durch die Webcam eingelesen und als abc.jpg abgespeichert
capture= cv2.VideoCapture(0)
res,bild=capture.read()
cv2.imwrite("abc.jpg", bild)
 
# Bild 2: Bild 1 in schwarz-weiß, wird als def.jpg abgespeichert
bild_grau=cv2.cvtColor(bild,cv2.cv.CV_BGR2GRAY)
cv2.imwrite("def.jpg", bild_grau)
 
# Bild 3: Wird aus einer Datei eingelesen
bild2=cv2.imread("anaphalis_triplinervis.jpg")
 
# Öffnet Bild 1
cv2.namedWindow("Fenster 1")
cv2.imshow("Fenster 1",bild)
cv2.waitKey(0)
 
# Öffnet Bild 2
cv2.namedWindow("Fenster 2")
cv2.imshow("Fenster 2",bild_grau)
cv2.waitKey(0)
 
# Öffnet Bild 3
cv2.namedWindow("Fenster 3")
cv2.imshow("Fenster 3",bild2)
cv2.waitKey(0)
 
# Erzeugt eine Kopie von Bild 3
bildkopie=bild2.copy()
 
# Bild 4: Bild 3 mit Zeichnungen
cv2.circle(bildkopie,(300,200),100,(0,0,255),5)
#(bild,(x,y),r,(blau, grün, rot),strichstärke)
cv2.rectangle(bildkopie,(10,10),(200,200),(0,255,0),5)
#(bild,(x,y),(a,b),(b,g,r),strichstärke)
cv2.line(bildkopie,(100,100),(200,300),(255,0,0),5)
#(x,y)(startpunkt x,y),(endpunkt x,y),(b,g,r),strichstärke)
 
# Öffnet Bild 4
cv2.imshow("Fenster 4",bildkopie)
cv2.waitKey(0)
 
cv2.destroyAllWindows()
capture.release()

Bild 4: Dokumentation zu den Zeichenfunktionen
Im folgenden Bild haben wir Markierungen vorgenommen, ohne das Original zu verändern.