我需要在我的图像处理项目中调用cvMorphologyEx,并使用此行来执行。

cvMorphologyEx(src1,dest1,NULL,NULL,CV_MOP_OPEN);

它编译正常,但是在运行时给我这个错误



我确定问题出在第三个和第四个参数中,但是文档说它们是可选的。

如果您需要更多详细信息,请告诉我。

谢谢,

再见

最佳答案

您必须创建一个IplConvKernel并将其传递给函数,否则cvMorphologyEx可能不知道结构元素的大小和形状,因此它无法进行任何处理。

int filterSize = 5;
IplConvKernel *convKernel = cvCreateStructuringElementEx(filterSize, filterSize, (filterSize - 1) / 2, (filterSize - 1) / 2, CV_SHAPE_RECT, NULL);

cvMorphologyEx(src1, dest1, NULL, convKernel, CV_MOP_OPEN);

注意结构元素不是可选的!

08-16 08:16