1.上网查询发现python中不能嵌入AVX语句,而C语言和C++支持,因此如果需要做一些视觉任务,需要使用C++调用opencv。因此在VS2019中配置一下opencv,参考链接如下:
VS2019+OpenCV安装与配置教程_opencv-2.4.2\opencv\build\x64\vc19-CSDN博客https://blog.csdn.net/Creama_/article/details/107238475注意新版本的include文件夹中已经不包含opencv文件夹,只有opencv2文件夹,因此在设置包含目录时,只需包含两个,忽略掉 opencv那一项就ok。
2.把人脸识别的代码部署进去,运行发现无效,发现是没有导入人脸识别的模型训练文件,参考如下:
使用C++和OpenCV进行人脸识别,包含模型训练与调用过程_opencv 调用模型-CSDN博客https://blog.csdn.net/weixin_59456917/article/details/131429045OpenCV应用的haarcascade.xml文件,适用于人脸检测、车牌检测等场景(免费永久有效下载)_opencv xml下载_萧泊的博客-CSDN博客https://blog.csdn.net/qq_45813590/article/details/1318122213.初步代码如下:
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/objdetect.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main() {
string path = "C:/Users/lenovo/Desktop/test1.png";
Mat img = imread(path);
if (img.empty()) {
cout << "Error: Image not loaded. Check the file path." << endl;
return -1; // Return an error code to indicate failure.
}
CascadeClassifier faceCascade;
faceCascade.load("D:/opencv/build/etc/haarcascades/haarcascade_frontalface_alt.xml");
if (faceCascade.empty()) {
cout << "Error: XML file not loaded." << endl;
return -1; // Return an error code to indicate failure.
}
vector<Rect> faces;
faceCascade.detectMultiScale(img, faces, 1.1, 10);
for (int i = 0; i < faces.size(); i++) {
rectangle(img, faces[i].tl(), faces[i].br(), Scalar(255, 0, 255), 3);
}
imshow("Image", img);
waitKey(0);
return 0; // Return 0 to indicate successful execution.
}