opencv可以直接擬合出橢圓,但是在某些情況下,會出現擬合錯誤的情況,比如下面的
在算法原理上來說,可能沒有問題,只是出現了某些特殊情況使結果異常了,具體原因可能沒法說明。
這裏建議改成下面的代碼 來試試:
//RotatedRect rRect = fitEllipse(contours);
RotatedRect rRect = minAreaRect(Mat(contours));
ellipse(iamge, rRect, cv::Scalar(0, 0, 255));