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.