1

OpenCVを用いたotsu法で計算された閾値に応じて画像を操作する必要があるプロジェクトに取り組んでいます。大津式で計算された閾値が必要です。

http://opencv.willowgarage.com/documentation/c/miscellaneous_image_transformations.html#thresholdによると、問題は次の とおりです。

しきい値タイプのパラメーターとして CV_THRESH_OTSU を使用すると、しきい値関数は Otsu 関数を使用して計算されたしきい値を double として返すと言われています。

しかし、コードスニペットを実行すると

   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 に答える