首页 > 代码库 > 创建高度和宽度为原图一半的图像
创建高度和宽度为原图一半的图像
ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。
关键函数: ASSERT,cvPyrDown
程序:
结果1:由于原图像长度和高度不能被2整除,所以提示错误:
结果2:正常运行
程序:
#include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> IplImage* HalfSize(IplImage* src) { std::cout<<src->width<<" "<<src->height<<std::endl; assert(src->width%2==0&&src->height%2==0); IplImage* dst=cvCreateImage(cvSize(src->width/2,src->height/2),src->depth,src->nChannels); cvPyrDown(src,dst,CV_GAUSSIAN_5x5); std::cout<<dst->width<<" "<<dst->height<<std::endl; return dst; } int HalfSizeImage(int argc,char** argv) { IplImage* src=http://www.mamicode.com/cvLoadImage("e:\\picture\\4.jpg"); cvNamedWindow("src"); cvShowImage("src",src); IplImage* dst=HalfSize(src); cvNamedWindow("dst"); cvShowImage("dst",dst); cvWaitKey(0); cvDestroyWindow("src"); cvDestroyWindow("dst"); cvReleaseImage(&src); cvReleaseImage(&dst); return 0; }
本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1540036
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。