0

我过去一直在使用 OpenCV C/C++,目前我正在尝试 Android。我正在检测面部特征。我使用 OpenCV 示例进行人脸检测,并且通过级联检测特征。我想问你的是:

1)如何将反应角中的区域捕获到变量/设备内存:

在 OpenCV 中它是这样工作的:

cvSetImageROI(img1, cvRect(10, 15, 150, 250));

IplImage *img2 = cvCreateImage(cvGetSize(img1),
                           img1->depth,
                           img1->nChannels);
cvCopy(img1, img2, NULL);

在 Android 示例中,我有一个包含已找到面的矩形的数组:

Rect[] facesArray = faces.toArray();
for (int i = 0; i < facesArray.length; i++)
Core.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(), FACE_RECT_COLOR, 3);

但我不知道如何保存它,因为我无法处理 IplImage。你能指导我一点或者给我一些我可以研究的资源吗?

2)如果有任何方法可以在相机视图上找到的区域上设置onClick,所以我可以点击选择的脸,将其写入某种变量或保存在内存中

4

1 回答 1

0

我想,您正在寻找mRgba.submat(facesArray[i])

(非常有偏见的个人意见:您仍在使用 IplImages(又名 c-api)?whaa。坏习惯。转移到 c++ api!)

于 2013-07-21T18:13:58.973 回答