OpenCV4Android - 以矩形捕获图像(面部检测)

时间:2013-07-21 17:53:35

标签: android c++ opencv face-detection

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

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

在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在摄像机视图上找到的区域,那么我可以点击选择面,将其写入某种变量或将其保存在内存中

1 个答案:

答案 0 :(得分:0)

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

(非常有偏见的个人观点:你还在使用IplImages(又名c-api)?whaa。坏习惯。转到c ++ api!)