0


opencv常见用法和opencv3->opencv4版本切换

opencv常见用法和opencv3->opencv4版本切换

opencv

一、opencv4的一些语法用法记录

1.1 cv::TermCriteria

The class defining termination criteria for iterative algorithms(这个类定义了迭代算法的终止准则)

1.1.1 Public Types

枚举类

enumType{
        COUNT =1,
        MAX_ITER =COUNT,
        EPS =2}

EnumeratorMeaningCOUNTthe maximum number of iterations or elements to compute最大迭代次数MAX_ITERditto最大迭代次数EPSthe desired accuracy or change in parameters at which the iterative algorithm stops迭代算法停止时所需的精度或参数变化

1.1.2 defaut constructor

cv::TermCriteria::TermCriteria()

1.1.3 构造2

cv::TermCriteria::TermCriteria(int type,int maxCount,double epsilon)

typeThe type of termination criteria, one of TermCriteria::TypemaxCountThe maximum number of iterations or elements to computeepsilonThe desired accuracy or change in parameters at which the iterative algorithm stops

二、opencv3->opencv4版本切换报错

2.1 identifier “CV_AA” is undefined:

#include<opencv2/imgproc/imgproc_c.h>

2.2 identifier “CV_GRAY2RGB” is undefined:

#include<opencv2/imgproc/types_c.h>

2.3 identifier “CV_CALIB_CB_ADAPTIVE_THRESH” is undefined

CV_CALIB_CB_NORMALIZE_IMAGE
CV_CALIB_CB_FILTER_QUADS
CV_CALIB_CB_FAST_CHECK
CV_CALIB_CB_NORMALIZE_IMAGE
CV_CALIB_CB_FAST_CHECK
CV_CALIB_CB_ADAPTIVE_THRESH
CV_CALIB_CB_FILTER_QUADS

#include<opencv2/calib3d/calib3d_c.h>

2.4 fatal error: opencv/cv.h: No such file or directory

找不到opencv/cv.h文件
#include <opencv/cv.h>改为

#include<opencv2/imgproc.hpp>

2.5 fatal error: opencv/highgui.h: No such file or directory

#include<opencv2/highgui/highgui_c.h>

2.6 error: ‘CV_FONT_HERSHEY_SIMPLEX’ was not declared in this scope

CV_FONT_HERSHEY_SIMPLEX--->FONT_HERSHEY_SIMPLEX

opencv4部分取消了CV_前缀
正确作法:

#include<opencv2/imgproc/imgproc_c.h>

2.7 error: ‘CV_WINDOW_NORMAL’ was not declared in this scope

#include<opencv2/highgui/highgui_c.h>

2.8 error: ‘CV_INTER_LINEAR’ was not declared in this scope

将CV_删除转到变量定义查看某hpp,再寻找所对应的.h文件

#include<opencv2/imgproc/imgproc_c.h>

2.9 error: ‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope

#include<opencv2/imgcodecs/legacy/constants_c.h>

2.10 pcl的一大段错误

pcl报错(types等等)
选择c++14 编译标准
https://blog.csdn.net/weixin_44001261/article/details/123299374.

2.11 error: ‘CvMat’ does not name a type

2.11.1

error: ‘CvMat’ has not been declared
cvCreateMat()

添加头文件

#include<opencv2/core/types_c.h>

2.11.2 CV_REDUCE_SUM(‘CV_REDUCE_SUM’ was not declared in this scope)

#include<opencv2/core/core_c.h>

查阅
https://docs.opencv.org.

2.12 error: static assertion failed: std::map must have the same value_type as its allocator on Ubuntu 20.04

链接: https://github.com/raulmur/ORB_SLAM2/pull/585/commits/d5c04468ce85d600f8a0a23fa280b0153fe115e0.

2.13 编译DBoW2等出现"OpenCV > 2.4.3 not found."

make[2]: *** No rule to make target '../Thirdparty/DBoW2/lib/libDBoW2.so', needed by '../lib/libORB_SLAM2.so'

改成对应的版本

2.14 Pangolin出错(orb_slam2在ubuntu20.04上编译时)

https://blog.csdn.net/qq_41035283/article/details/122093494.
https://blog.csdn.net/qq_37719890/article/details/122072958.
https://blog.csdn.net/guowenkang123/article/details/120172907.

2.15 fatal error: opencv/cxcore.h: No such file or directory

#include<opencv2/core/core_c.h>

2.16 CV_LOAD_IMAGE_UNCHANGED

添加头文件

#include<opencv2/imgcodecs/legacy/constants_c.h>
或者修改为
cv::IMREAD_UNCHANGED

2.17 CV_MINMAX

添加头文件

#include<opencv2/core/core_c.h>

本文转载自: https://blog.csdn.net/weixin_43848456/article/details/123380782
版权归原作者 xlsemmmmmm 所有, 如有侵权,请联系我们删除。

“opencv常见用法和opencv3->opencv4版本切换”的评论:

还没有评论