我的项目是在视频编辑器中启用人脸检测。 使用OpenCV时,此代码有效:
using namespace cv;
CascadeClassifier cascade;
cascade.load("....xml");
Mat frame1 = imread("18.jpg");
std::vector<Rect> faces;
Mat gray;
// Optional
cvtColor(img, gray, COLOR_BGR2GRAY);
equalizeHist(gray, gray);
// Detect faces of different sizes using cascade classifier
cascade.detectMultiScale(gray, faces);
但是我想让Mat充满我的运行时缓冲区,该缓冲区是(用于H.264编码的普通NV12,但是我可以有RGB)带有ARGB的DWORD数组。
Mat mat(H,W, CV_32S, (void*)raw.data());
我不确定从现在开始如何进行。创建的矩阵似乎有效,但是其余代码会崩溃。
是否存在适用于haar级联的特定格式?我的最终目标是将原始缓冲区传递给OpenCV,并获取结果而不必保存到中间JPG。