fd = new FaceDetector(mFaceWidth, mFaceHeight, MAX_FACES);
count = fd.findFaces(mFaceBitmap, faces);

使用上面的代码,我得到了一些图像上的这个错误。
返回0个面,因为btk_facefinder_putdcr存在错误
有人能帮我吗?怎么摆脱这个?
同样的代码也适用于其他一些图像。

最佳答案

http://blog.csdn.net/devilkin64/article/details/8509767
传入的图片的宽度必须是偶数的

Bitmap srcImg = BitmapFactory.decodeFile(imgUrl);
    Bitmap srcFace = srcImg.copy(Bitmap.Config.RGB_565, true);
    srcImg = null;
    int w = srcFace.getWidth();
    int h = srcFace.getHeight();
    if (w % 2 == 1) {
        w++;
        srcFace = Bitmap.createScaledBitmap(srcFace,
                srcFace.getWidth()+1, srcFace.getHeight(), false);
    }
    if (h % 2 == 1) {
        h++;
        srcFace = Bitmap.createScaledBitmap(srcFace,
                srcFace.getWidth(), srcFace.getHeight()+1, false);
    }

07-28 12:39