我正在开发一个项目,需要根据使用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表达式”。 我怎样才能获得阈值?
提前致谢!
答案 0 :(得分:1)
该文档适用于opencv v2.1,您似乎使用较旧的版本,在opencv 0.9中cvThreshold
不会返回值:
void cvThreshold( const CvArr* src, CvArr* dst, double threshold,
double maxValue, int thresholdType );