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

OpenCV-将图像缩放并显示

2017-09-29 17:38 260 查看
1:代码如下:

#include "stdafx.h"
#include "highgui.h"
#include "cv.h"

IplImage* doPyrDown(IplImage* in,int filter=IPL_GAUSSIAN_5x5)
{
assert(in->width%2==0 && in->height%2==0);
//创建首地址并分配存储空间IplImage* cvCreateImage( CvSize size, int depth, int channels );
//size 图像宽、高
//depth 图像元素的位深度,IPL_DEPTH_8U - 无符号8位整型
//channels 每个元素(像素)通道数.可以是 1, 2, 3 或 4
//得到二维的数组的尺寸,以CvSize返回.
//CvSize,OpenCV的基本数据类型之一。表示矩阵框大小,以像素为精度。与CvPoint结构类似
IplImage* out=cvCreateImage(cvSize(in->width/2,in->height/2),in->depth,in->nChannels);
//cvPyrDown使用Gaussian金字塔分解对输入图像向下采样,高斯金字塔分解
//void cvPyrDown(const CvArr*src,CvArr*dst,int filter=CV_GAUSSIAN_5x5)
//src 输入图像,dst 输出图像,其宽度和高度应是输入图像的一半,filter 卷积滤波器类型,目前仅支持CV_GAUSSIAN_5x5.
cvPyrDown(in,out);
return out;
}

int main(int argc, char* argv[])
{
IplImage* img=cvLoadImage("C:\\horse.jpg");
cvNamedWindow("Example-in");
cvShowImage("Example-in",img);
cvNamedWindow("Example-out");
cvShowImage("Example-out",doPyrDown(img));
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example-in");
cvDestroyWindow("Example-out");
return 0;
}
运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: