Изменение размера изображения с помощью CvMat In Open CV

Я использую CvMat а также cvResize функция Open CV для добавления двух изображений разного размера.

CvMat *ob1 =cvLoadImageM("C:\\Users\\Public\\Pictures\\Sample Pictures\\Koala.jpg");
CvMat *ob2 = cvLoadImageM("C:\\Users\\tgupta\\Downloads\\len_std256.jpg");
cvResize(ob1,ob2,CV_INTER_LINEAR);
CvMat *dst=NULL;
dst = cvCreateMat(ob1->rows,ob1->cols,CV_8UC3);
cvSetZero(dst);
cvAdd(ob2,ob1,dst);
cvShowImage( "cv_src",dst);

Но в этом, когда я использую cvResize функционировать значения ob2 не изменяет размер до ob1 и моя программа падает на cvAdd из-за разных размеров изображения. Пожалуйста, скажите мне, где я делаю неправильно, или скажите мне другое решение, используя CvMat состав. Пожалуйста, не говорите решения для Mat или же IplImage состав.

1 ответ

Действительно, вы должны использовать API C++:

Mat ob1 = imread("C:\\Users\\Public\\Pictures\\Sample Pictures\\Koala.jpg");
Mat ob2 = imread("C:\\Users\\tgupta\\Downloads\\len_std256.jpg");
resize(ob1, ob1, ob2.size()); // change size of ob1 to the one of ob2

Mat dst; 
add(ob1,ob2,dst);
imshow("cv_src",dst);
waitKey();
Другие вопросы по тегам