On 19-jun-2007, at 14:59, Gijs Molenaar wrote:

> Hallo,
>
> Ik ben bezig met de python wrapper van OpenCV, een handige library of
> Computer Vision dingen. De Python wrapper is eigenlijk een 1 op 1
> mapping van alle C functies.
>
> Er lukt mij echter 1 ding niet:
>
> CvMat* cvGetPerspectiveTransform( const CvPoint2D32f* src, const
> CvPoint2D32f* dst, CvMat* map_matrix );
>
>
> src en dst moeten een c array zijn met daarin 4x cv.cvPoint2D32f. Ik
> krijg het maar niet voor elkaar Ik heb een mooie python array met  
> daarin
> 4x de nodige waardes, maar ik kan er geen python array in stoppen  
> en het
> lukt me niet om het zelf in elkaar te frutsen met ctypes. Heeft iemand
> een idee wat ik moet doen? Zit ik in de goede hoek, of heb ik het
> compleet mis? Zelf C code schrijven is helaas geen optie.

Je zult iets meer context moeten geven: waar is die wrapper in  
geschreven? Kennelijk niet in C?

Misschien een tip die helpt: als het altijd een array met 4 elementen  
is kun je 'm ook behandelen als struct. In C zou ik dat als volgt  
doen (aangenomen dat Point2D32f twee floats is):
     CvPoint2D32f arg[4];
     if (PyArg_ParseTuple(args, "((ff)(ff)(ff)(ff))", &arg[0].x, &arg 
[0].y, arg[1].x, arg[1].y, etc etc etc) )
        ...

Aan de Python kant geef je dan ((0, 0), (1, 1), (2, 2), (3, 3)) door.
--
Jack Jansen, <[EMAIL PROTECTED]>, http://www.cwi.nl/~jack
If I can't dance I don't want to be part of your revolution -- Emma  
Goldman


_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan