OpenCV:resize函数 VS vector:resize函数

绪:
图像处置中 , 改变图像大小的操作是经常碰到的;
OpenCV库resize函数专门用来改变图像大小的操作函数;
而C++中 , vector::resize改变容器大小;
本文本家儿要介绍这两者resize用法;

OpenCV:resize函数 VS vector:resize函数

文章插图

需要这些哦
OpenCV 2410
方式/
1格局:
void resize(InputArray src, //输入
OutputArray dst, //输出
Size dsize, //指定图像大小
double fx=0,
double fy=0,
int interpolation=INTER_LINEAR )

OpenCV:resize函数 VS vector:resize函数

文章插图

2参数:
dsize:指定图像尺寸大小 ,
若是为0 , 则
【注】:
dsize和fx、fy不克不及同时为0 。
fx、fy是沿x轴和y轴的缩放系数;
当默认取0时 , 计较公式如下:
interpolation:插值体例 ,
有以下几种:
INTER_NEAREST - 比来邻插值
INTER_LINEAR - 线性插值(默认)
INTER_AREA - 区域插值
INTER_CUBIC - 三次样条插值
INTER_LANCZOS4 - Lanczos插值

OpenCV:resize函数 VS vector:resize函数

文章插图

OpenCV:resize函数 VS vector:resize函数

文章插图

OpenCV:resize函数 VS vector:resize函数

文章插图

3应用实例
#include <opencv2\opencv.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\features2d\features2d.hpp>
#include <opencv2\core\core.hpp>
using namespace std; 
using namespace cv; 
int main()
{
       string path = "3.jpg";
       int resize_height = 618;
       int resize_width = 460;
       Mat src = https://vvvtt.com/article/imread(path);
       Mat dst;
       imshow("src", src);
       resize(src, dst, Size(resize_width, resize_height), (0, 0), (0, 0), INTER_LINEAR);
       imshow("dst", dst);
       waitKey(0);
       return 0;
}

OpenCV:resize函数 VS vector:resize函数

文章插图

4vector:resize()改变容器内元素的数量 , 调整内存分派;
格局:
void resize (size_type n, value_type val = value_type());
当n比当前容器内元素数量小时 , 销毁容器中多余的元素;
当n比当前容器内元素数量年夜时 , 扩展容器大小 , 并用val初始化;
resize:设置内存大小;
【注】:若是n年夜于当前的vector的容量(是容量 , 并非vector的size) , 将会引起主动内存分派 , 所以现有的pointer,references,iterators将会掉效 。

OpenCV:resize函数 VS vector:resize函数

文章插图

推荐阅读