今天在学习人脸识别案例的时候,关于PCA算法,其中有行代码,
PCA pca_analysis(data_pts, Mat(), CV_PCA_DATA_AS_ROW);
一直编译不通过,报错
一开始以为是opencv版本的原因(我用的是opencv4.2),就把前面的CV_去掉了,(因为opencv2版本都是带CV_的,比如CV_WINDOW_AUTOSIZE这些),但还是报错,去网上查了好多别人写的人脸识别的代码,发现这里和我的一样,但别人不报错。。。
后来问了人,在vs中可以把鼠标放到函数上面,右击转到定义,看看源文件中是怎么定义这个函数的:

后改成这样:
PCA pca_analysis(data_pts, Mat(), 0);
问题解决。
总结解决未定义错误:
1,缺少相应的头文件,遇到这个错误是一大片都是未定义报错
2,因为版本的问题,函数的名称发生了改成,里面的参数变了
本文记录了解决在使用OpenCV进行人脸识别时,PCA算法调用过程中遇到的编译错误问题。作者最初怀疑是版本不兼容导致的错误,尝试去除函数前缀CV_但未能解决问题。最终通过检查函数定义,将参数由CV_PCA_DATA_AS_ROW更改为数字0,成功解决了编译错误。
2242

被折叠的 条评论
为什么被折叠?



