OpenCV图像的缩放
函数介绍:
1.cvResize 改变图像大小
void cvResize(const CvArr *src, CvArr *dst, int interpolation)
函数说明:
第一个参数表示输入图像。
第二个参数表示输出图像。
第三个参数表示插值方法,可以有以下四种:
CV_INTER_NN - 最近邻插值,
CV_INTER_LINEAR - 双线性插值 (缺省使用)
CV_INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法..
CV_INTER_CUBIC - 立方插值.
2.cvCreateImage(CvSize size, int depth, int channels)
函数说明:
第一个参数表示图像的大小。
第二个参数表示图像的深度,可以为IPL_DEPTH_8U,IPL_DEPTH_16U等等。
第三个参数表示图像的通道数。
#include "stdafx.h"
#include "iostream"
using namespace std;
#include "opencv2/opencv.hpp" int main()
{
const char *pImagePath = "E:/C_VC_code/Text_Photo/girl001.jpg";
const char *pWindowsTitle = "MyFirst OpenCV"; //load image from file
IplImage *pImage = cvLoadImage(pImagePath,CV_LOAD_IMAGE_UNCHANGED); //create window
cvNamedWindow(pWindowsTitle,CV_WINDOW_AUTOSIZE); //show image on window
cvShowImage(pWindowsTitle,pImage);
//------------------------以上创建显示原图-------------------------------- const char *pDstImageTitle = "Auto Image";
double fScale = 0.5; //the mul of 缩放
CvSize cvSize; //the size of changed image IplImage *pDstImage = NULL; //count the size of destination image
cvSize.width = pImage->width*fScale;
cvSize.height = pImage->height*fScale; //create image and auto
pDstImage = cvCreateImage(cvSize, pImage->depth, pImage->nChannels);
cvResize(pImage, pDstImage ,CV_INTER_AREA); //create window and show image
cvNamedWindow(pDstImageTitle,CV_WINDOW_AUTOSIZE);
cvShowImage(pDstImageTitle,pDstImage); //------------------------以上缩放并显示缩放图片-------------------------- //wait key event
cvWaitKey(); //destroy window and release space
cvDestroyWindow(pWindowsTitle);
cvReleaseImage(&pImage);
return ;
}
结果展示:
OpenCV图像的缩放的更多相关文章
- OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
这篇已经写得很好,真心给作者点个赞.题目都是直接转过来的,直接去看吧. Reference Link : http://blog.csdn.net/poem_qianmo/article/detail ...
- 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
- 学习 opencv---(12)OpenCV 图像金字塔:高斯金字塔,拉普拉斯金字塔与图片尺寸缩放
在这篇文章里,我们一起学习下 图像金字塔 的一些基本概念,如何使用OpenCV函数pyrUp和pyrDown 对图像进行向上和向下采样,以及了解专门用于缩放图像尺寸的resize函数的用法.此博文一共 ...
- 使用OpenCV对图像进行缩放
OpenCV:图片缩放和图像金字塔 对图像进行缩放的最简单方法当然是调用resize函数啦! resize函数可以将源图像精确地转化为指定尺寸的目标图像. 要缩小图像,一般推荐使用CV_INETR_A ...
- opencv:图像的基本变换
0.概述 图像变换的基本原理都是找到原图和目标图的像素位置的映射关系,这个可以用坐标系来思考,在opencv中, 图像的坐标系是从左上角开始(0,0),向右是x增加方向(cols),向下时y增加方向( ...
- [OpenCV Qt教程] 在Qt图形界面中显示OpenCV图像的OpenGL Widget (第一部分)
本文译自:http://www.robot-home.it/blog/en/software/tutorial-opencv-qt-opengl-widget-per-visualizzare-imm ...
- opencv图像的基本操作3
1.获取像素并修改 读取一副图像,根据像素的行和列的坐标获取它的像素值,对于RGB图像而言,返回RGB的值,对于灰度图则返回灰度值 import cv2 import numpy img = cv2. ...
- <学习opencv>图像和大型阵列类型
OPenCV /*=========================================================================*/ // 图像和大型阵列类型 /* ...
- 我心中的核心组件~HttpHandler和HttpModule实现图像的缩放与Url的重写
回到目录 说在前 对于资源列表页来说,我们经常会把图像做成N多种,大图,小图,中图等等,很是麻烦,在数据迁移时,更是一种痛快,而如果你把图像资源部署到nginx上,那么这种图像缩放就变得很容易了,因为 ...
随机推荐
- Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast的解决方法: 在命令行输入:yum clean al ...
- ecshop循环foreach,iteration,key,index
转载: 最近刚接触ecshop不久,感觉是非常的强大,做商城网站,整个流程都差不多搞好了,就是支付流程要自己完善完善,不过也有不足,文章功能还不够好. 通过几天的应用,总结出了ec模版中foreach ...
- Occlusion Culling
遮挡剔除 http://www.bjbkws.com/online/1092/ unity遮挡剔除(应用) http://www.unitymanual.com/thread-37302-1-1.ht ...
- GPRS/3G
像GPRS/3G模块之类的应用,需要连接,登陆,初始化等步骤完成后才能传输数据,而这些步骤又比较耗时. 所以用 状态机 + 超时 的机制来实现比较合理. 如下代码片段来描述数据透传 : 状态机 + 超 ...
- MyEclipse for linux 破解方法
1.安装MyEclipse: uu@pc:~/desktop$ chmod +x myeclipse-pro-2014-GA-offline-installer-linux.run uu@pc:~/d ...
- centos 7.0 编译安装mysql 5.6.22 再次总结 成功编译安装~ 越来越熟练了~
查找php.ini文件所在位置 [root@localhost /]# find -name php.ini ./usr/etc/php/etc/php.ini mysql官网的安装说明http:// ...
- SICP— 第一章 构造过程抽象
SICP Structure And Interpretation Of Computer Programs 中文第2版 分两部分 S 和 I 第一章 构造过程抽象 1,程序设计的基本元素 2,过 ...
- Yii2.0 实现的短信发送
原文地址:http://www.phpxs.com/post/4245/ yii2-smserGithub项目主页 https://github.com/daixianceng/yii2-smser ...
- Log4Net使用方法
项目里都会用到日志记录..特别是在本地跑的欢畅..一上服务器就嗝屁的时候..日志会帮你大忙.. Log4net算是一种应用的最广泛的日志记录方式了..下面来简略的说下他的用法.. 先下载log4net ...
- 15分钟学会使用Git和远程代码库
git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...