Эмгу CV оценка RigidTransform

Возникли проблемы при попытке использовать функцию opencv. Возвращенная ошибка: OpenCV: оба входных изображения должны иметь тип 8uC1 или 8uC3

Вот код:

Image<Gray, Byte> prev_grey = frames.ElementAt(0).Convert<Gray, Byte>();
IntPtr prev = CvInvoke.cvCreateImage(prev_grey.Size, IPL_DEPTH.IPL_DEPTH_8U, 1);
CvInvoke.cvSetImageCOI(prev, 0); // Select the channel to copy into
CvInvoke.cvCopy(prev_grey, prev, IntPtr.Zero);
Matrix<float> prev2 = new Matrix<float>(prev_grey.Rows, prev_grey.Cols, prev);

curr_grey = frames.ElementAt(i).Convert<Gray, Byte>();
IntPtr curr = CvInvoke.cvCreateImage(curr_grey.Size, IPL_DEPTH.IPL_DEPTH_8U, 1);
CvInvoke.cvSetImageCOI(curr, 0); // Select the channel to copy into
CvInvoke.cvCopy(curr_grey, curr, IntPtr.Zero);
Matrix<float> curr2 = new Matrix<float>(curr_grey.Rows, curr_grey.Cols, curr);

Matrix<double> affine = new Matrix<double>(curr_grey.Rows, curr_grey.Cols);
CvInvoke.cvEstimateRigidTransform(prev2.Ptr, curr2.Ptr, affine.Ptr, false);

0 ответов

Другие вопросы по тегам