Seite 1 von 1
Funktion verwenden
Verfasst: Mittwoch 4. November 2009, 09:31
von PEID
hallo,
versuche gerade die Funktion "2DRotationMatrix()" aus
OpenCV zu benutzen jedoch erhalte ich lediglich nur 'SyntaxError: invalid syntax'
woran liegt dass? wegen der Zahl am Anfang von 2DRotationMatrix?
Wie kann ich nun aber doch die Funktion verwenden?
mfG
Verfasst: Mittwoch 4. November 2009, 09:51
von Zap
Ich habe OpenCV noch nie verwendet aber ein Funktion die mit einer Zahl beginnt kann man erst garnicht anlegen:
Code: Alles auswählen
In [19]: def 2x():
------------------------------------------------------------
File "<ipython console>", line 1
def 2x():
^
<type 'exceptions.SyntaxError'>: invalid syntax
Teste doch mit einem ```print dir(cv)``` was es alles an möglichen Attributen gibt.
Verfasst: Mittwoch 4. November 2009, 09:55
von sma
Alle Bezeichner in Python müssen mit einem Buchstaben (oder einem _) beginnen. Die Dokumentation ist in dieser Beziehung aber schlecht, denn es sieht tatsächlich so aus, als beginne der Funktionsname mit "2D". Etwas tiefer sieht es so aus, als wenn da noch ein "cv" davor stünde.
Stefan
Verfasst: Mittwoch 4. November 2009, 09:58
von PEID
ok, erscheint folgendes:
Code: Alles auswählen
>>> help(cv)
....
FUNCTIONS
2DRotationMatrix(...)
2DRotationMatrix(center, angle, scale, map_matrix) -> None
.....
@sma
für C heißt es scheinbar 'cv2DRotationMatrix()'
und für python 'cv.2DRotationMatrix()'
Verfasst: Mittwoch 4. November 2009, 10:08
von sma
Tja, dann hat da jemand falsch (automatisch) die Funktionsnamen konvertiert, denn es ist ein Syntaxfehler, wenn der Name nicht mit einem Buchstaben oder _ beginnt. Das lässt sich somit nicht direkt aufrufen.
Workaround:
Stefan
Verfasst: Mittwoch 4. November 2009, 11:03
von PEID
Super!! vielen Dank.
es funktioniert!!!
