使用opencv拉伸图像扩大分辨率示例

 更新时间:2014年04月11日 10:52:54   作者:  
这篇文章主要介绍了使用opencv拉伸图像扩大分辨率示例,需要的朋友可以参考下

使用OPENCV图像处理库,拉伸图像扩大分辨率

复制代码 代码如下:

//缩放图像文件
#include <opencv2/opencv.hpp>
using namespace std;
//隐藏控制台窗口
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
int main()
{
 const char *pstrImageName = "airplane.jpg";
 const char *pstrSaveImageName = "airplane缩放图.jpg";
 const char *pstrWindowsSrcTitle = "原图";
 const char *pstrWindowsDstTitle = "缩放图";

 double fScale = 2;//缩放倍数
 CvSize czSize; //目标图像尺寸

 //从文件中读取图像 
 IplImage *pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
 IplImage *pDstImage = NULL; 

 //计算目标图像大小
 czSize.width = pSrcImage->width * fScale;
 czSize.height = pSrcImage->height * fScale;

 //创建图像并缩放
 pDstImage = cvCreateImage(czSize, pSrcImage->depth, pSrcImage->nChannels);
 cvResize(pSrcImage, pDstImage, CV_INTER_AREA);
 

 //创建窗口
 cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_AUTOSIZE);
 cvNamedWindow(pstrWindowsDstTitle, CV_WINDOW_AUTOSIZE);

 //在指定窗口中显示图像
 cvShowImage(pstrWindowsSrcTitle, pSrcImage);
 cvShowImage(pstrWindowsDstTitle, pDstImage);

 //等待按键事件
 cvWaitKey();

 //保存图片
 cvSaveImage(pstrSaveImageName, pDstImage);

 cvDestroyWindow(pstrWindowsSrcTitle);
 cvDestroyWindow(pstrWindowsDstTitle);
 cvReleaseImage(&pSrcImage);
 cvReleaseImage(&pDstImage);
 return 0;
}

相关文章

  • C语言的可变参数函数实现详解

    C语言的可变参数函数实现详解

    某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。典型的可变参数函数的例子有printf()、scanf()等,下面我就开始讲解
    2021-08-08
  • C语言实现简单员工工资管理系统

    C语言实现简单员工工资管理系统

    这篇文章主要为大家详细介绍了C语言实现简单员工工资管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • 基于QT实现显示OpenCV读取的图片

    基于QT实现显示OpenCV读取的图片

    OpenCV自带了一部分常用的GUI功能,但是更多的图像处理功能需要其他GUI框架来辅助实现,本文将通过QT来显示OpenCV读取的图片,需要的可以参考一下
    2022-11-11
  • 浅谈c++中“::”和“:” 冒号的意思

    浅谈c++中“::”和“:” 冒号的意思

    这篇文章主要介绍了浅谈c++中“::”和“:” 冒号的意思,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • C语言三种函数调用约定_cdecl与_stdcall及_fastcall详细讲解

    C语言三种函数调用约定_cdecl与_stdcall及_fastcall详细讲解

    本篇文章使用的工具是vs2010,内容可能涉及到汇编的知识,建议有一些汇编基础的再来看,不过没有汇编基础也没有关系,了解一下这三种调用约定即可
    2022-10-10
  • C++11中列表初始化机制的概念与实例详解

    C++11中列表初始化机制的概念与实例详解

    在我们实际编程中,我们经常会碰到变量初始化的问题,对于不同的变量初始化的手段多种多样,下面这篇文章主要给大家介绍了关于C++11中列表初始化机制的相关资料,需要的朋友可以参考下
    2021-11-11
  • C语言算法学习之双向链表详解

    C语言算法学习之双向链表详解

    双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。本文主要介绍了C语言算法中双向链表的实现,需要的可以参考一下
    2022-05-05
  • C语言实现静态版通讯录的示例代码

    C语言实现静态版通讯录的示例代码

    这篇文章主要为大家详细介绍了如何利用C语言实现一个简单的静态版通讯录,文中的示例代码讲解详细,对我们学习C语言有一定帮助,需要的可以参考一下
    2022-08-08
  • C语言实现中国象棋

    C语言实现中国象棋

    这篇文章主要为大家详细介绍了C语言实现中国象棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Windows下sentry接入C/C++程序的详细过程

    Windows下sentry接入C/C++程序的详细过程

    sentry作为一个开源的软件,发展至今,已经非常成熟。它支持的平台众多,甚至于针对不同的工作者(后台、前端、客户端)都有相应的内容,这篇文章主要介绍了Windows下sentry接入C/C++程序,需要的朋友可以参考下
    2022-09-09

最新评论