c - 在 Opencv 中使用 Cv Mat 调整图像大小

标签 c opencv resize resize-image

我正在 Open CV 中使用 CvMatcvResize 函数来添加两个不同大小的图像。

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 结构的另一个解决方案。请不要告诉 MatIplImage 结构的解决方案。

最佳答案

真的,您必须使用c++ api:

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();

关于c - 在 Opencv 中使用 Cv Mat 调整图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29840203/

相关文章:

c - 在将指针作为参数的函数内操作指针值

java - OpenCV 中的 Canny 边缘检测器

c++ - 从 vector 中删除元素时如何减小 vector 的大小?

javascript - 具有可变大小元素的垂直javascript无限文本轮播

css - 图像大小调整和大小适配

c - 假设的 malloc/free 实现,带有要释放的显式大小参数

C:初始化模块变量

c - 服务器未收到 TCP SYN 数据包

Python OpenCV 无法处理视频

python - 如何处理 : ImportError:/usr/lib/x86_64-linux-gnu/libatk-1. 0.so.0: undefined symbol: g_log_structured_standard