0
我一直在使用OpenCV C/C++,目前我正在尝试Android。我正在检测脸部特征。我使用OpenCV示例进行人脸检测,并通过级联检测功能。我想问您的是:OpenCV4Android - 在矩形中捕获图像(面部检测)
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,在其上发现了摄像机视图的区域,这样我就可以点击choosen脸,它写某种变量或将其保存在内存中
呀它可以帮助很多,它允许我将矩形区域写入变量。如果你还可以告诉我显示它的方式,因为当我这样做时:if(facesArray [0]!= null){mChosenFace = mRgba.submat(facesArray [0]);返回mChosenFace; }我的相机视图冻结。那么,我有问题,因为你可以看到,在C++中,我正在使用书,我有参考,现在我不知道写作和显示图像的基本知识。你有什么资源可以学习吗? – F1sher
你不能只说:if(facesArray [0]!= null)。如果没有找到面孔,则不存在facesArray [0],这已经是非法指令了。你必须首先检查facesArray.length – berak