首先声明,这篇文章是我在网上 搜到的,编码用到ressize函数,但是搜索结果大多都是cvresize,感觉这个资源来之不易,所以就存了下来。
举个栗子:
double scale=0.5; //设置缩放倍数
string imageurl = "F:/opencv/samples/cpp/baboon.jpg";
Mat image =imread(imageurl);?
//缩放
Size dsize = Size(image.cols*scale,image.rows*scale);
Mat image2 = Mat(dsize,CV_32S);
resize(image, image2,dsize);
首先定义scale变量,图片要缩放的倍数。
然后用Mat函数创建image矩阵,并加载图像。
Size函数是设置图像框架大小
resize函数调整图片大小。
各函数的要点:
CV::Mat
在这里我用的是Mat函数,而网上很多代码是cvMat函数,这个c和c++2个接口,当然c/c++混合使用也没出错,只是为了代码规范,我vc开发c++版本的就尽可能全部用c++接口。
很多人会说IPLImage这个函数都可以加载图片啦,为什么非要用cv::Mat?其实一开始学opencv的时候我也很疑惑,后来查资料看懂了,其一在c语言版本中cvmat和iplImage是一个继承的父子关系,但是最主要的原因就是cv::mat有矩阵功能,学过图像处理的朋友就知道,图片其实就是一些数字矩阵,上面有每个像素点的RGB的值,而IplImage只是简单的读取和加载图片的一些属性功能,比如宽度高度、图像大小等等,唯独没有矩阵功能。