我正在开展一个项目,该项目需要根据使用 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 表达式”。 如何获取阈值?
提前致谢!
最佳答案
该文档是针对 opencv v2.1 的,您似乎使用的是 旧 版本,在 opencv 0.9 cvThreshold
中没有返回值:
void cvThreshold( const CvArr* src, CvArr* dst, double threshold,
double maxValue, int thresholdType );
关于c - 使用 CV_THRESH_OTSU 返回 cvThreshold 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13312116/