c - 使用 CV_THRESH_OTSU 返回 cvThreshold 的值

标签 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 表达式”。 如何获取阈值?

提前致谢!

最佳答案

该文档是针对 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/

相关文章:

python - Python 中的 OpenCV - 操作像素

php - php 扩展内的方法调用出现段错误

c - git 的外部 shell cmd 源代码中的 execvp 调用返回 EFAULT(错误地址)errno,似乎仅在 64 位中。谷歌搜索什么也没透露

c++ - 使用 libvlc smem 从视频中获取帧并将其转换为 opencv Mat。 (c++)

c++ - 分配 cv::Mat 对象的最通用方法是什么?

c++ - 获取 uint8 Mat 的像素值

C弦构建

CCS 错误[128] 此行之前需要 #DEVICE

c - 指针运算

python - 使用 imshow (OpenCV) 显示图像时出现问题