Найти - Пользователи
Полная версия: аффинное проеобразование
Начало » Python для новичков » аффинное проеобразование
1
S1asH
Помогите переписал код с С на путон но возникают какие то проблемы при компиляции
вот код:
from opencv import cv, highgui, adaptors
from PIL import Image, ImageOps, ImageEnhance

im=cvLoadImage(“file.jpg”)
rot_mat=cvCreateMat(2,3,CV_32FC1)
warp_mat=cvCreateMat(2,3,CV_32FC1)
dst=cvCloneImage(im)
cvZero(dst)
pil_im = adaptors.Ipl2PIL(im)
srctri=[(0,0),(pil_im.size-1,0),(0,pil_im.size-1)]
dsttri=[(pil_im.size*0.0,pil_im.size*0.33),(pil_im.size*0.85,pil_im.size*0.25),(pil_im.size*0.15,pil_im.size*0.7)]
cvGetAffineTransform(srctri,dsttri,warp_mat)
cvWarpAffine(im,dst,warp_mat)
cvCopy(dst,im)
center=[(pil_im.size/2,pil_im.size/2)]
angle=-50.0
scale=0.6
cv2DRotationMatrix(center,angle,scale,rot_mat)

cvWarpAffine(im,dst,rot_mat)
cvNamedWindow(“affine”,1)
cvShowImage(“affine”,dst)

наверное не состыковочка в типах переменных.
dartNNN
Простите, но при какой компиляции и какие проблемы? Вы сами как думаете при такой постановке вопроса вам на что должны отвечать? Опишите проблему поподробнее и тогда можно будет думать.
S1asH
понял причину не запуск программы. возник другой вопрос как сделать так чтоб тип и все значения в кортеже стали типа float?
dartNNN
float(number) тебе в помощь. А вообще можно было и книжки посмотреть:) Там обычно про все типы пишут:)
UsCr
Ну так а в чем ошибка? Как решил?
S1asH
поменял тип переменных внутри кортежа согласно документаци т.е. заменил
srctri=[(0,0),(pil_im.size-1,0),(0,pil_im.size-1
на
srctri=[CvPoint2D32f(0,0),CvPoint2D32f(pil_im.size-1,0),CvPoint2D32f(0,pil_im.size-1)]
теперь ругается:
srctri=[CvPoint2D32f(0,0),CvPoint2D32f(pil_im.size-1,0),CvPoint2D32f(0,pil_im.size-1)]
TypeError: __init__() takes exactly 1 argument (3 given)
dartNNN
S1asH
TypeError: __init__() takes exactly 1 argument (3 given)
Это значит, что __init__() принимает только аргумент-указатель на объект (self), т.е. вызывать конструктор класса можно только без аргументов. И путь ваш лежит к документации:) где написано, как работать с этим классом.
ЗЫ. Хотя выглядит это как-то странно, мож я что путаю
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB