vs中关于未定义标识符“CV_PCA_DATA_AS_ROW”的报错

今天在学习人脸识别案例的时候,关于PCA算法,其中有行代码,

PCA pca_analysis(data_pts, Mat(), CV_PCA_DATA_AS_ROW);

一直编译不通过,报错
vs中关于未定义标识符“CV_PCA_DATA_AS_ROW”的报错_第1张图片一开始以为是opencv版本的原因(我用的是opencv4.2),就把前面的CV_去掉了,(因为opencv2版本都是带CV_的,比如CV_WINDOW_AUTOSIZE这些),但还是报错,去网上查了好多别人写的人脸识别的代码,发现这里和我的一样,但别人不报错。。。
后来问了人,在vs中可以把鼠标放到函数上面,右击转到定义,看看源文件中是怎么定义这个函数的:
vs中关于未定义标识符“CV_PCA_DATA_AS_ROW”的报错_第2张图片
后改成这样:

PCA pca_analysis(data_pts, Mat(), 0);

问题解决。

总结解决未定义错误:
1,缺少相应的头文件,遇到这个错误是一大片都是未定义报错
2,因为版本的问题,函数的名称发生了改成,里面的参数变了

你可能感兴趣的:(软件安装,配置,bug)