OpenCV中的resize()函数

 void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR)

。src    输入图
。dst   输出图,形态和输入图相同,当dsize不等于0,输出图尺寸会和dsize相同,当dsize等于0,输出图尺寸会由输入图尺寸、fx、fy计算而得
。dsize   输出尺寸,当输入为0时,fx、fy皆不可为0,dsize = Size(round(fxsrc.cols),round(fysrc.rows))
。fx   水平缩放比例,当输入为0时,fx=(double)dsize.width/src.cols
。fy   垂直缩放比例,当输入为0时,fy=(double)dsize.height/src.rows
。interpolation    内插方式   内插方式有
a). CV_INTER_NEAREST      最邻近插值点法
b). CV_INTER_LINEAR         双线性插值法
c).CV_INTER_AREA             邻域像素再取样插补
d).CV_INTER_CUBIC           双立方插补,4*4大小的补点
e).

當我們縮小影像時,使用CV_INTER_AREA會有比較好的效果,當我們放大影像,CV_INTER_CUBIC會有最好的效果,但是計算花費時間較多,CV_INTER_LINEAR能在影像品質和花費時間上取得不錯的平衡。 CV_INTER_LANCZOS4    Lanczos插补,8*8大小的补点

       此篇主要记录下因为本人使用的环境是Qt5.9.1+MSV2015编译器,因Qt中有自己的resize()函数,所以开始的时候始终不对

因为前面有using namespace cv;  所以忘记当有重名函数时要加作用域下调用,所以记得cv::resize(); 

你可能感兴趣的:(OpenCV学习历程)