OpenCV4中cvGetSize()函数的替代方案是什么?
问题解决:OpenCV4中替代cvGetSize()的方案
OpenCV3及以后版本移除了C风格的cvGetSize()函数,统一使用C++风格的成员方法获取图像尺寸。另外需要注意,你的gray_image是**cv::Mat*指针类型**,直接用cv::Size(gray_image)无效,因为Size构造函数不接受Mat指针作为参数。
正确的替代写法有两种:
- 直接通过指针调用
size()成员函数:
gray_image->size()
- 先解引用指针再调用
size():
(*gray_image).size()
将你的代码修改后,calibrateCamera的调用语句应为:
cv::calibrateCamera(object_points, image_points, gray_image->size(), intrinsic_matrix, distortion_coeffs, NULL, NULL, CV_CALIB_FIX_ASPECT_RATIO);
额外提示:OpenCV4中建议将CV_CALIB_FIX_ASPECT_RATIO替换为cv::CALIB_FIX_ASPECT_RATIO,遵循C++风格的命名规范,减少潜在兼容性问题。
内容的提问来源于stack exchange,提问作者Elmi
相关产品推荐
相关产品推荐

