そのため、OpenCVのC ++バージョンでcvThresholdを使用しました。CV_THRESHOLD_OTSUを使用すると、使用されたしきい値が何であるかを示す戻り値としてdoubleが表示されます。
OpenCVSharpでは、関数はvoidのみを返すように定義されています。それは私がそれを誤用しているということですか、それとも私たちはもうそのオプションを取得していませんか?
OpenCVsharpのThreshold関数呼び出しは、thresholdType_Otsuを処理しないvoidを返すように作成されました。
次のように変更する必要があります
public static double Threshold( CvArr src, CvArr dst, double threshold, double max_value, ThresholdType threshold_type )
{
if (src == null)
throw new ArgumentNullException("src");
if (dst == null)
throw new ArgumentNullException("dst");
return CvInvoke.cvThreshold(src.CvPtr, dst.CvPtr, threshold, max_value, threshold_type);
}
これは、しきい値が返された場合、および戻りが無効である他の場合に機能します。