您的位置:首页 > 其它

VC改变BMP图像大小

2012-10-22 16:49 211 查看
#include "cv.h"

#include "highgui.h"

#include "stdio.h"

int main(int argc,char *argv[])

{

IplImage *image=0,*imageresize=0;

image=cvLoadImage("lena.jpg",1);

if(!image) printf("can't load an image\n");

imageresize=cvCreateImage(cvSize(1000,750),IPL_DEPTH_8U,3);

cvResize(image,imageresize,CV_INTER_LINEAR);

cvNamedWindow("lena",1);

cvNamedWindow("size",1);

cvShowImage("size",imageresize);

cvShowImage("lena",image);

cvWaitKey(0);

cvReleaseImage(&image);

cvReleaseImage(&imageresize);

cvDestroyWindow("size");

cvDestroyWindow("lena");

return 0;

}

#include "cv.h"

#include "highgui.h"

#include <math.h>

int main(int argc,char * argv[])

{

IplImage* src = /blog.armyourlife.info/0;

IplImage* dst = 0;

double scale=0.618;//缩放比例

CvSize dst_size;//定义二维化矩形框

if((argc==2) && (src = /blog.armyourlife.info/cvLoadImage(argv[1],1))!=0)

{

dst_size.width = (int)(src->width * scale);

dst_size.height = (int)(src->height * scale);//确定新图的矩形框

dst=cvCreateImage(dst_size,src->depth,src->nChannels);//创建图像头

cvResize(src,dst,CV_INTER_LINEAR);//使用双线性差值减小图像。

cvNamedWindow("src",CV_WINDOW_AUTOSIZE);

cvNamedWindow("dst",CV_WINDOW_AUTOSIZE);

cvShowImage("src",src);

cvShowImage("dst",dst);

cvWaitKey(-1);

cvReleaseImage( &src );

cvReleaseImage( &dst );

cvDestroyWindow("src");

cvDestroyWindow("dst");

}

return 0;

}

#include <cv.h>

#include <highgui.h>

#include <math.h>

int main(int argc, char* argv[])

{

IplImage *src = 0; //源图像指针

IplImage *dst = 0; //目标图像指针

float scale = 0.618; //缩放倍数为0.618倍

CvSize dst_cvsize; //目标图像尺寸

/* the first command line parameter must be image file name */

if ( argc == 2 && (src = cvLoadImage(argv[1], -1))!=0 )

{ //如果命令行传递了需要打开的图片就无须退出,所以注释掉下面一行!

//return -1;

}

else

{

src = cvLoadImage("tiger.jpg"); //载入工作目录下文件名为“tiger.jpg”的图片。

}

dst_cvsize.width = src->width * scale; //目标图像的宽为源图象宽的scale倍

dst_cvsize.height = src->height * scale; //目标图像的高为源图象高的scale倍

dst = cvCreateImage( dst_cvsize, src->depth, src->nChannels); //构造目标图象

cvResize(src, dst, CV_INTER_LINEAR); //缩放源图像到目标图像

cvNamedWindow( "src", CV_WINDOW_AUTOSIZE ); //创建用于显示源图像的窗口

cvNamedWindow( "dst", CV_WINDOW_AUTOSIZE ); //创建用于显示目标图像的窗口

cvShowImage( "src", src ); //显示源图像

cvShowImage( "dst", dst ); //显示目标图像

cvWaitKey(-1); //等待用户响应

cvReleaseImage(&src); //释放源图像占用的内存

cvReleaseImage(&dst); //释放目标图像占用的内存

cvDestroyWindow( "src" ); //销毁窗口“src”

cvDestroyWindow( "dst" ); //销毁窗口“dst”

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuguiping0416/archive/2010/07/07/5719508.aspx

#include <opencv/cv.h>

#include <opencv/highgui.h>

#include <stdlib.h>

#include <stdio.h>

int main( int argc, char** argv ){

IplImage * src = cvLoadImage(argv[1]);

CvSize sz;

double scale = 0.25;

sz.width = src->width*scale;

sz.height = src->height*scale;

IplImage * dest = cvCreateImage(sz, src->depth,src->nChannels);

cvResize(src,dest,CV_INTER_LINEAR);

char titsrc[]="src";

cvNamedWindow(titsrc,CV_WINDOW_AUTOSIZE);

char titdest[]="dest";

cvNamedWindow(titdest,CV_WINDOW_AUTOSIZE);

cvShowImage(titsrc,src);

cvShowImage(titdest,dest);

cvWaitKey(0);

cvReleaseImage(&src);

cvReleaseImage(&dest);

cvDestroyWindow(titsrc);

cvDestroyWindow(titdest);

return 0;

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