使用CV THRESH_OTSU返回cvThreshold的值

时间:2012-11-09 16:33:39

标签: c opencv

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

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

它表示阈值函数返回使用Otsu函数计算的阈值,当我使用CV_THRESH_OTSU作为阈值类型的参数时,返回为double。

但是当我运行代码片段

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

它抛出错误“无效使用void表达式”。 我怎样才能获得阈值?

提前致谢!

1 个答案:

答案 0 :(得分:1)

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

void cvThreshold( const CvArr* src, CvArr* dst, double threshold,
                  double maxValue, int thresholdType );