1

我正在做一个项目,该项目需要根据使用 OpenCV 的 otsu 方法计算的阈值来操作图像。我需要通过 Otsu 方法计算的阈值。

问题是,根据 http://opencv.willowgarage.com/documentation/c/miscellaneous_image_transformations.html#threshold

它说阈值函数返回使用 Otsu 函数计算的阈值,当我使用 CV_THRESH_OTSU 作为阈值类型的参数时,它是双精度值。

但是当我运行代码片段时

   printf("thresh = %lf\n", cvThreshold(image, otsu, 100, 255, CV_THRESH_OTSU + CV_THRESH_BINARY_INV))

它会引发错误“无效使用无效表达式”。如何获得阈值?

提前致谢 !

4

1 回答 1

1

该文档适用于 opencv v2.1,您似乎使用的是版本,在 opencv 0.9cvThreshold中不返回值:

void cvThreshold( const CvArr* src, CvArr* dst, double threshold,
                  double maxValue, int thresholdType );
于 2012-11-09T16:46:37.327 回答