Um mit opencv (cv2), Templates in Bildern suchen habe ich folgenden for-Schleife programmiert:
for pt in zip(*loc[::-1]):
Jetzt ist pt eine Tuple und zeigt folgendes an, wenn ich print(pt) ausführe:
(1008, 230)
(1009, 230)
(1010, 230)
Mein ertse Frage ist, ob alle Werte auf der Linken Seite eim Wert für die Tuple ist, denn wenn ich v=np.array(pt)
eingebe und dann print(v[1:), sind die linken Werte verschwunden.
Meine eigentliche Frage ist, wie ich den Wrtz 1010 der Variablen x zuweisen kann und den Wert 230 der Variablen y.
Mit freundlichen Grüßen
Johannes Schaffer
Werte in Tuple auslesen und Variablen zuweisen
@markjohannes: natürlich ist bei `pt[1:]` der linke Wert verschwunden, weil Du nur Werte ab Index 1 ausgibst. Was Du brauchst ist Tuple-Unpacking:
Code: Alles auswählen
for x, y in zip(*loc[::-1]):
print(x, y)
-
- User
- Beiträge: 29
- Registriert: Dienstag 24. April 2018, 22:04
Okay vielen Dank für die schnelle Antwort.
Wenn ich das durchführe, habe ich für x und y jeweils drei Werte. Wie kann ich für x nur den letzen behalten?
LG Johannes
Wenn ich das durchführe, habe ich für x und y jeweils drei Werte. Wie kann ich für x nur den letzen behalten?
LG Johannes
-
- User
- Beiträge: 29
- Registriert: Dienstag 24. April 2018, 22:04
Oh okay. Und wie mache ich das? Ich kann mir zip(*loc[::-1]) nicht ausgeben lassen.
LG Johannes
LG Johannes
-
- User
- Beiträge: 29
- Registriert: Dienstag 24. April 2018, 22:04
Also ich weiß, wie man das mit Arrays macht, aber dies ist kein Array.
@markjohannes: damit Dein Code zusammen mit dem Beispieloutput Sinn ergibt, muß loc eine Sequenz von Sequenzen sein. In der ersten Sequenz stehen die y-Werte, in der zweiten die x-Werte. An das letzte x gelangst Du dann mit
(ungetestet)
Code: Alles auswählen
x = loc[1][-1]