opencv3.0 — Как клонировать массив матов указателем Переполнение стека

Я новичок в opencv, и у меня есть программа, в которой используется IplImage, но я хочу обновить ее до Mat, поэтому есть вещи, где я не знаю точно, как изменить программу, например, эта строка:

 void setDataToWork(Mat* sources)/* Before it was IplImage* sources*/
{
src = sources ;
...
...
{
/*segm = cvCloneImage( sources ) ;*/
/*ch_h = cvCloneImage( segMsk )*/;
sources->clone();
}

}

Мне нужно клонировать исходники и ch_h, но я не знаю, как это сделать правильно.

заранее спасибо

-1

Решение

Вы не можете заменить все вхождения IplImage в cv::Mat поскольку API был полностью изменен, некоторые методы не существуют, некоторые были переименованы и т. д.
Единственное, что вы можете сделать, это создать оболочку cv::Mat возражать против вашего старого IplImage по конструктору ниже

cv::Mat(const IplImage* img, bool copyData=false);

На практике:

IplImage* iplImage = ...

cv::Mat matFromIpl(iplImage);

// use matFromIpl from here
0

Другие решения


По вопросам рекламы [email protected]