Почему использование Smooth приводит к сбою Python? - PullRequest
1 голос
/ 10 января 2010

Я использую Python 2.6 против OpenCV 2.0. Я начал захват файлов и вытащил кадры. Я отобразил изображение, чтобы убедиться, что оно действительно. Когда я вызываю эту процедуру, происходит сбой Python:

def SmoothImage(self,SmoothingMaskSize=3):
    temp=cv.CreateImage(cv.GetSize(self._lpImage),self._lpImage.depth,self._lpImage.nChannels)
    cv.Smooth(self._lpImage,temp)
    self._lpImage=temp

Я также попытался сгладить его на месте, используя cv.Smooth (self._lpImage, self._lpImage)

Я новичок в Python - я что-то упускаю из виду?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 08 февраля 2010

Если вам не нужен доступ к объектно-ориентированным частям OpenCV, вы должны взглянуть на ctypes-opencv, который является лучшим набором привязок Python. Он с любовью создан вручную, в отличие от сгенерированных SWIG привязок, которые поставляются с OpenCV, и я никогда не обнаруживал в нем никаких ошибок.

http://code.google.com/p/ctypes-opencv/

0 голосов
/ 26 января 2011

Можете ли вы изолировать проблему, удалив определение класса? Я получаю это работает:

planes = [cv.CreateImage(cv.GetSize(image), cv.IPL_DEPTH_32F, 1) for i in range(3)]
cv.Split(image, planes[0], planes[1], planes[2], None)
for plane in planes:
    cv.Smooth(plane, plane, smoothtype=cv.CV_GAUSSIAN, param1=9, param2=0, param3=0, param4=0)
0 голосов
/ 13 января 2010

Связывания, поставляемые с установщиком OpenCV 2.0, содержат ошибки; У меня была похожая проблема, когда некоторые очень простые операции вызывали сбои. Компиляция из исходного кода должна исправить это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...