Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1617:bilder_zu_bildern:protokolle:170105 [2017/01/05 17:07] isabelschwermer |
ws1617:bilder_zu_bildern:protokolle:170105 [2017/03/24 17:43] (aktuell) Chai_Tee.95-Cara |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | === 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. | ||
+ | |||
<code python> | <code python> | ||
import numpy as np | import numpy as np | ||
Zeile 4: | Zeile 8: | ||
from scipy import misc, ndimage, signal | from scipy import misc, ndimage, signal | ||
import cv2 | import cv2 | ||
- | bild=misc.imread('kalimeris _incisa.jpg','f') | ||
- | bild=ndimage.filters.gaussian_filter(bild,1) | ||
- | # x | + | 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) | b=ndimage.filters.sobel(bild, axis=-1) | ||
cv2.namedWindow("Fenster 1") | cv2.namedWindow("Fenster 1") | ||
cv2.imshow("Fenster 1",b) | cv2.imshow("Fenster 1",b) | ||
- | # y | + | # y-Achsenverschiebung |
b2=ndimage.filters.sobel(bild, axis=0) | b2=ndimage.filters.sobel(bild, axis=0) | ||
cv2.namedWindow("Fenster 2") | cv2.namedWindow("Fenster 2") | ||
Zeile 20: | Zeile 25: | ||
cv2.destroyAllWindows() | cv2.destroyAllWindows() | ||
- | a=np.sqrt(b[1:,:]**2+b2[:-1,:]**2) | + | a=np.sqrt(b[1:,:]**2+b2[:-1,:]**2) # Betrag der x/y-Verschiebung |
plt.imshow(a,cmap=plt.get_cmap('gray')) | plt.imshow(a,cmap=plt.get_cmap('gray')) | ||
plt.show() | plt.show() | ||
Zeile 26: | Zeile 31: | ||
</code> | </code> | ||
- | {{hund_mittel_kl.jpg}} | + | Original: \\ |
- | {{Untitled-1.jpg?300}} | + | {{hund_mittel_kl.jpg}} \\ |
+ | |||
+ | Nach Verschiebung in x- und y-Richtung \\ | ||
+ | {{Untitled-1.jpg}} | ||
+ | |||
+ | Endergebnis:\\ | ||
+ | {{hund_ferig.png}} | ||
---- | ---- | ||
- | == Weitere Aufgaben: == | + | == Weiterführende Aufgaben: == |
* das gleiche nochmal, das Bild aber im RGB-Modus belassen, also bei der Kantenerkennung die Farbinformationen mit einbeziehen | * 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?) ✔ |