您的位置 首页 > 腾讯云社区

“大脑”生长系列(四)---用户1692782

图像处理的过程中,我们经常会遇到更改图片大小来适应不同的应用场景。OpenCV也提供了这样的API接resize。

resize接口原型:

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

参数说明:

src: 源图像;

dst:调整后目标图像;

dsize: 调整后的大小;

fx : width方向的缩放比例,如果它是0,那么它就会按照(double)dsize.width/src.cols来计算;

fy : height方向的缩放比例,如果它是0,那么它就会按照(double)dsize.height/src.rows来计算;

interpolation: 指定图像插值的算法;

老规矩请你欣赏代码示例

int main(int argc, char *argv[]) { Mat src = imread("3.jpg"); Mat cv256_linear; Mat cv256_nearest; resize(src, cv256_linear, Size(512, 512), 0, 0, INTER_NEAREST); resize(src, cv256_nearest, Size(512, 512), 0, 0, INTER_LINEAR); namedWindow("cv256_linear"); namedWindow("cv256_nearest"); namedWindow("src"); imshow("src", src); imshow("cv256_linear", cv256_linear); imshow("cv256_nearest", cv256_nearest); waitKey(0); return 0; }

这里简单说明一下这段代码:

(1)resize是我们做大小调整的接口,src是我们的源图像,采取默认的width方向和height方向的缩放方式;

(2)演示了两种缩放的算法:

INTER_NEAREST:缩放过程中新的位置的像素值使用邻近位像素的值

INTER_LINEAR:缩放过程中新的位置的像素值使用通过双线性插值的方式得到像素的值

展示一下效果图

PK

---来自腾讯云社区的---用户1692782

关于作者: 瞎采新闻

这里可以显示个人介绍!这里可以显示个人介绍!

热门文章

留言与评论(共有 0 条评论)
   
验证码: