try {
RotatedRect box = fitEllipse(points);
} catch (const cv::Exception& e) {
std::cerr << "OpenCV Error: " << e.what() << std::endl;
std::cerr << "Function: " << e.func << std::endl;
std::cerr << "File: " << e.file << ":" << e.line << std::endl;
std::cerr << "Code: " << e.code << std::endl; // 錯誤碼對照 modules/core/include/opencv2/core/base.hpp
}
std::cout << "Points count: " << points.size() << std::endl;
for (auto& p : points)
std::cout << "(" << p.x << ", " << p.y << ") ";
if (points.size() < 5) { /* 處理或跳過 */ }
minAreaRect(points) 只需 3 個點,穩健性更高。std::cout << CV_VERSION << std::endl; // 編譯時版本
std::cout << cv::getBuildInformation() << std::endl; // 運行時版本
確保編譯、運行鏈接同一版本 OpenCV。