【Opencv】的函数的开头部分CV_Assert的意思

如cvEqualizeHist()的第三条语句便是包含CV_Assert语句:

 CV_Assert( CV_ARE_SIZES_EQ(src, dst) && CV_ARE_TYPES_EQ(src, dst) && CV_MAT_TYPE(src->type) == CV_8UC1 );

CV_Assert()函数与C++标准库中的assert()函数功能基本相同。

assert 的作用是现计算表达式 expression ,如果其值为假(即为 0),那么它先向 stderr 打印一条出错信息,然后通过调用 abort 来终止程序运行。

回到本文举例的语句,实际上是下面的意思:

通过CV_ARE_SIZES_EQ判断源图像和目标图像大小是否相同;

通过 CV_ARE_TYPES_EQ判断源图像和目标图像的类型是否相同;

通过CV_MAT_TYPE(src->type) == CV_8UC1判断源图像是否是8U和单通道的!

你可能感兴趣的:(Opencv)