Я пытаюсь преобразовать изображения, снятые с захвата (веб-камера), и обработать их с помощью OpenCV, но мне трудно ...
При попытке преобразовать изображение в оттенки серого программа вылетает. (Python.exe перестал работать)
Вот основной фрагмент моего кода:
newFrameImageGS = cv.CreateImage ((320, 240), cv.IPL_DEPTH_8U, 1)
for i in range(0,5):
newFrameImage = cv.QueryFrame(ps3eye)
cv.CvtColor(newFrameImage,newFrameImageGS,cv.CV_BGR2GRAY)
golfSwing.append(newFrameImageGS)
Когда я пытаюсь использовать cvConvertScale, я получаю ошибку подтверждения:
src.size() == dst.size() && src.channels() == dst.channels()
, что имеет смысл, но я довольно озадачен тем, как конвертировать входные изображения моей веб-камеры в изображения, которые могут использоваться такими функциями, как cvUpdateMotionHistory () и cvCalcOpticalFlowLK ()
Есть идеи? Спасибо.
UPDATE:
Я преобразовал изображение в оттенки серого вручную с помощью:
for row in range(0,newFrameImage.height):
for col in range(0,newFrameImage.width):
newFrameImageGS[row,col] = (newFrameImage8U[row,col][0] * 0.114 + # B
newFrameImage8U[row,col][1] * 0.587 + # G
newFrameImage8U[row,col][2] * 0.299) # R
Но это занимает довольно много времени ... и я до сих пор не могу понять, почему cvCvtColor вызывает сбой программы.