码迷,mamicode.com
首页 > 其他好文 > 详细

创建高度和宽度为原图一半的图像

时间:2014-08-14 20:59:02      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:opencv assert cvpyrdown

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。

关键函数: ASSERT,cvPyrDown

程序:

结果1:由于原图像长度和高度不能被2整除,所以提示错误:

bubuko.com,布布扣

结果2:正常运行

bubuko.com,布布扣

程序:

#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=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

创建高度和宽度为原图一半的图像,布布扣,bubuko.com

创建高度和宽度为原图一半的图像

标签:opencv assert cvpyrdown

原文地址:http://flyclc.blog.51cto.com/1385758/1540036

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!