Я новичок в 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, но я не знаю, как это сделать правильно.
заранее спасибо
Вы не можете заменить все вхождения 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