VC6 + OpenCV1.0实现图片缩放显示
来源:互联网 发布:md5判断密码正确java 编辑:程序博客网 时间:2024/05/01 22:23
VC6 + OpenCV1.0实现图片缩放显示
分类: VC OpenSource 2013-08-26 21:00 29人阅读 评论(0)收藏 举报
用vc6新建一个win32控制台程序,代码:
- /*
- 功能:实现加载jpg图片,并进行缩放显示
- 开发环境: winXP + vc6 + openCV1.0
- 头文件路径:
- D:\opensource\opencv1.0\cv\include
- D:\opensource\opencv1.0\cxcore\include
- D:\opensource\opencv1.0\otherlibs\highgui
- lib文件目录:
- D:\opensource\opencv1.0\lib
- 用到的lib文件: cxcore.lib cv.lib highgui.lib
- */
- #include <stdio.h>
- #include <cv.h>
- #include <highgui.h>
- #include <math.h>
- int main(int argc, char* argv[])
- {
- const char *imgName[] = {"源图像", "缩放后图像"};
- IplImage *src = 0; //源图像指针
- IplImage *dst = 0; //目标图像指针
- float scale = 0.5f; //缩放倍数为0.618倍
- CvSize dst_cvsize; //目标图像尺寸
- if ( argc == 2 && (src = cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED)) != 0 )
- {
- }
- else
- {
- src = cvLoadImage("3.jpg", CV_LOAD_IMAGE_UNCHANGED);
- if(!src)
- {
- printf("Load source image failed, please check!\n");
- return -1;
- }
- }
- dst_cvsize.width = (int)(src->width * scale); //目标图像的宽为源图象宽的scale倍
- dst_cvsize.height = (int)(src->height * scale); //目标图像的高为源图象高的scale倍
- dst = cvCreateImage( dst_cvsize, src->depth, src->nChannels); //构造目标图象
- // cvResize(src, dst, CV_INTER_LINEAR); //缩放源图像到目标图像
- cvResize(src, dst, CV_INTER_CUBIC); //缩放源图像到目标图像
- cvNamedWindow(imgName[0], CV_WINDOW_AUTOSIZE); //创建用于显示源图像的窗口
- cvNamedWindow(imgName[1], CV_WINDOW_AUTOSIZE); //创建用于显示目标图像的窗口
- cvShowImage(imgName[0], src); //显示源图像
- cvShowImage(imgName[1], dst); //显示目标图像
- cvWaitKey(-1); //等待用户响应
- cvReleaseImage(&src); //释放源图像占用的内存
- cvReleaseImage(&dst); //释放目标图像占用的内存
- cvDestroyWindow(imgName[0]);
- cvDestroyWindow(imgName[1]);
- return 0;
- }
/*功能:实现加载jpg图片,并进行缩放显示开发环境: winXP + vc6 + openCV1.0 头文件路径:D:\opensource\opencv1.0\cv\includeD:\opensource\opencv1.0\cxcore\includeD:\opensource\opencv1.0\otherlibs\highguilib文件目录:D:\opensource\opencv1.0\lib 用到的lib文件: cxcore.lib cv.lib highgui.lib*/#include <stdio.h>#include <cv.h>#include <highgui.h>#include <math.h> int main(int argc, char* argv[]){const char *imgName[] = {"源图像", "缩放后图像"}; IplImage *src = 0;//源图像指针 IplImage *dst = 0;//目标图像指针 float scale = 0.5f;//缩放倍数为0.618倍 CvSize dst_cvsize;//目标图像尺寸 if ( argc == 2 && (src = cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED)) != 0 ) { } else { src = cvLoadImage("3.jpg", CV_LOAD_IMAGE_UNCHANGED);if(!src){printf("Load source image failed, please check!\n");return -1;} } dst_cvsize.width = (int)(src->width * scale);//目标图像的宽为源图象宽的scale倍 dst_cvsize.height = (int)(src->height * scale);//目标图像的高为源图象高的scale倍 dst = cvCreateImage( dst_cvsize, src->depth, src->nChannels);//构造目标图象 // cvResize(src, dst, CV_INTER_LINEAR);//缩放源图像到目标图像cvResize(src, dst, CV_INTER_CUBIC);//缩放源图像到目标图像 cvNamedWindow(imgName[0], CV_WINDOW_AUTOSIZE);//创建用于显示源图像的窗口 cvNamedWindow(imgName[1], CV_WINDOW_AUTOSIZE);//创建用于显示目标图像的窗口 cvShowImage(imgName[0], src);//显示源图像 cvShowImage(imgName[1], dst);//显示目标图像 cvWaitKey(-1);//等待用户响应 cvReleaseImage(&src);//释放源图像占用的内存 cvReleaseImage(&dst);//释放目标图像占用的内存 cvDestroyWindow(imgName[0]); cvDestroyWindow(imgName[1]); return 0;}
注:
本人的opencv1.0下载地址:http://nchc.dl.sourceforge.net/project/opencvlibrary/opencv-win/1.0/OpenCV_1.0.exe
安装路径: D:\opensource\opencv1.0
- VC6 + OpenCV1.0实现图片缩放显示
- VC6 + OpenCV1.0实现图片缩放显示
- VC6 OpenCV1.0
- VC6配置OpenCV1.0
- 配置vc6+opencv1.0
- opencv1.0 vc6.0 视频获取显示程序调试经验
- VC6.0 利用opencv1.0打开一个图片
- VC6.0+opencv1.0配置
- opencv1.0-vc6-win7 视屏流
- cvLoadIamge读取图片失败的几点原因(亲自试验过)VC6+OpenCV1.0
- VC6.0下配置openCV1.0
- VC6.0下配置opencv1.0
- VC6.0配置OpenCV1.0的注意事项
- 在VC6.0中配置opencv1.0
- VC6.0 + opencv1.0 操作摄像头
- opencv1.0与VC6.0结合
- VC6.0 下配置OpenCV1.0
- OpenCV1.0及VC6.0的配置
- hdu(4616) A Computer Graphics Problem
- HDU 1712 ACboy needs your help(DP 分组背包)
- SAFEARRAY使用实例
- POJ 3159 Candies 差分约束 spfa+栈+邻接表
- [每日一题] 11gOCP 1z0-052 :2013-09-20 BIGFILE | SMALLFILE TABLESPACE.....................B43
- VC6 + OpenCV1.0实现图片缩放显示
- 手工冷备份脚本
- CLOSE_WAIT
- SQLPlus中的COPY指令学习
- Linux高性能服务器编程(笔记1)
- 黑马程序员_java基础加强(一) JDK1.5新特性
- 格雷码
- Polya 原理 着色问题
- hdu_3729 I'm Telling the Truth 二分图匹配