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

关键函数: ASSERT,cvPyrDown

程序:

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

wKiom1Psd5-x3U-TAAC5vIm9Yjc046.jpg

结果2:正常运行

创建高度和宽度为原图一半的图像_第1张图片

程序:

#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
#include 
IplImage* HalfSize(IplImage* src)
{
std::cout<width<<"    "<height<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<width<<"     "<height<