opencv中使用cvCanny出错

在刚开始使用OpenCV来编写一些图像处理程序时,经常会遇到使用cvCanny方法边缘检测出错。那是因为图像没有转换成单通道灰度图像(编译链接时不会报错,运行会出现:unsupported format or combination of formats() in unknown function(function cvCanny)

  cvCanny函数的定义如下:

void cvCanny(const CvArr* src, CvArr* dst, double threshold1, double threshold2, int apertureSize=3 )

  其中src是输入图像,dst是输出的边缘图像。输入图像必须是单通道的灰度图,而输出图像也是单通道的二值图像(黑白图像)。所以往往在载入输入图像调用函数cvLoadImage时,其flag参数设置为0,即将原来的彩色图像强制转换成灰度图(Gray),或者可以使用cvCvtColor(src,dst,CV_RGB2GRAY)将得到的图片强制转换为灰度图像。src为原图像,dst为转换成的灰度图。

你可能感兴趣的:(function,DST,图像处理)