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

本文记录了解决在使用OpenCV进行人脸识别时,PCA算法调用过程中遇到的编译错误问题。作者最初怀疑是版本不兼容导致的错误,尝试去除函数前缀CV_但未能解决问题。最终通过检查函数定义,将参数由CV_PCA_DATA_AS_ROW更改为数字0,成功解决了编译错误。

今天在学习人脸识别案例的时候,关于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,因为版本的问题,函数的名称发生了改成,里面的参数变了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小桉桉冲吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值