您的位置:首页 > 运维架构

Visual Studio 2019 搭配OpenCV 调整图片显示大小:resize函数使用实例

2020-02-11 18:32 579 查看

Visual Studio 2019 搭配OpenCV 对图片显示大小进行调整:

resize函数使用实例

大家好,在使用Visual Studio 2019 搭配OpenCV 对图片进行处理的过程中,我们发现打开的图片会以原始状态显示,导致图片延伸到屏幕以外,无法查看全部。用【resize函数】就可以将显示的图片大小调整到自己希望的样子,下面给大家讲一讲。

Resize函数基本构成

Resize(原图,输出图,Size(原图.cols/a,原图.row/b),double fx,double fy,INTER_LINEAR)

  1. 原图:读入图片的存储变量;
  2. 输出图:输出图片的存储变量;
  3. Size():尺寸调节函数,a、b分别是原图宽和长缩小的倍数;
  4. fx、fy:一般为分数,即宽和高缩小为原图的几分之几;
  5. INTER_LINEAR:双线性插值法缩放图片(常用);
  6. Size和fx、fy不能同时为0。

举例说明:将显示图片缩小为原来的1/4

编程核心代码:

代码1:Resize(原图,输出图,Size(原图.cols/4,原图.row/4),0,0,INTER_LINEAR)

或者

代码2:Resize(原图,输出图,Size(0,0),0.25,0.25,INTER_LINEAR)

分析:

代码1 通过Size中的参数对图片的横长、树高进行调整,分别在原来基础上除以4,即缩小为原来的1/4。

代码2 通过直接调整**“fx”“fy”**的数值,调整显示图片的大小,设置为0.25,即为原来的1/4。

代码实例

// An highlighted block
#include <cstdio>

#include "opencv.hpp" //opencv 的头文件

using namespace std;

using namespace cv; //opencv 的命名空间

int main()
{
printf("Hello Open CV!");

Mat srcImage = imread("dst.jpg");
Mat temImage, dstImage1, dstImage2;
temImage = srcImage;

imshow("正常", temImage);

//resize(temImage, dstImage1, Size(temImage.cols/4,temImage.rows/4),0,0,INTER_LINEAR);      //长宽缩小1/4
//resize(temImage, dstImage1, Size(0,0),0.25,0.25,INTER_LINEAR);    //长宽缩小1/4

//imshow("缩小", dstImage1);

waitKey();

return 0;
}

上述代码所输出的图片为原始大小,如果是常规的电脑屏幕,就无法看到整张图片,如下图所示,只能看到人物的头部。

针对图片显示过大的问题,我们采用Resize函数对输出显示图片的大小进行调节,即激活上述代码中 Resize函数任意一条,即可得到如下图所示的缩小1/4后的显示图片。

这时候,图片的显示大小就合适了很多,方便我们直观地观察图片了。

写在最后:以上就是我个人对Resize函数的初步学习心得,希望在帮助大家的同时,也能得到大神的指导,大家共同进步!
  • 点赞
  • 收藏
  • 分享
  • 文章举报
程序操控手 发布了3 篇原创文章 · 获赞 7 · 访问量 2690 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: