- 图像缩放
- 图像复制
图像缩放
void resize( InputArray src, OutputArray dst,
Size dsize, double fx = 0, double fy = 0,
int interpolation = INTER_LINEAR );
参数: src 输入图像
dst 输出缩放的图像
dsize 输出图像的大小
fx 沿水平方向的缩放因子
fy 沿垂直方向的缩放因子
interpolation 插值方式(INTER_LINEAR,INTER_NEAREST,etc)
//图像缩放
Mat resize1 ;
//方式一:设置新的图像大小 - 会出现拉伸的效果
resize(img, resize1, Size(200, 200), 0, 0, INTER_LINEAR);
imshow("resize1", resize1);
//方式二:设置缩放因子
Mat resize2;
resize(img, resize2, Size(), 0.5, 0.5, INTER_LINEAR);
imshow("resize2", resize2);
原图
缩放图效果
图像裁剪与复制
//在原图中裁剪一块区域,作为一个新的图像并展示
//高/宽
Mat crop = img(Range(40, 200), Range(170, 320));
imshow("crop", crop);
裁剪区域
- 图像复制到原图
Mat crop = img(Range(40, 200), Range(170, 320));
imshow("crop", crop);
//将裁剪区域复制到原图指定区域
int cropWidth = crop.size().width;
int cropHeight = crop.size().height;
crop.copyTo(img(Range(10,10+cropHeight), Range(10,10+cropWidth)));
//crop.copyTo(img(Range(100,100+cropHeight), Range(330,330+cropWidth)));
imshow("newImg", img);