=== Protokoll vom 5. Januar 2017 === Der folgende Code stellt unser aktuelles Kantenerkennungsprogramm dar. Dieses ist in drei Schritte unterteilt. Als erstes wird ein Bild eingelesen, rauschvermindert und dann in x- und y-Achsenrichtung verschoben. Zum Schluss werden diese beiden Verschiebungsbilder dann miteinander verrechnet, sodass das dargestellte Ergebnis entsteht. import numpy as np import matplotlib.pyplot as plt from scipy import misc, ndimage, signal import cv2 bild=misc.imread('hund_mittel_kl.jpg',mode='F',) bild=ndimage.filters.gaussian_filter(bild,1) #Rauschverminderung # x-Achsenverschiebung b=ndimage.filters.sobel(bild, axis=-1) cv2.namedWindow("Fenster 1") cv2.imshow("Fenster 1",b) # y-Achsenverschiebung b2=ndimage.filters.sobel(bild, axis=0) cv2.namedWindow("Fenster 2") cv2.imshow("Fenster 2",b2) cv2.waitKey(0) cv2.destroyAllWindows() a=np.sqrt(b[1:,:]**2+b2[:-1,:]**2) # Betrag der x/y-Verschiebung plt.imshow(a,cmap=plt.get_cmap('gray')) plt.show() Original: \\ {{hund_mittel_kl.jpg}} \\ Nach Verschiebung in x- und y-Richtung \\ {{Untitled-1.jpg}} Endergebnis:\\ {{hund_ferig.png}} ---- == Weiterführende Aufgaben: == * das gleiche nochmal, das Bild aber im RGB-Modus belassen, also bei der Kantenerkennung die Farbinformationen mit einbeziehen * Wie bringt man Turtle dazu, die Konturen nachzuzeichnen? zB, indem sie die Nachbarweißpunkte entlang geht?(Mittlung dieser Daten?) ✔