科大讯飞视频检测并验证

SDK是吐艳的语音和人脸验明平台。。现时共享的人脸验明功用。

  讯飞人脸验明的demo中去在线人脸验明、离线人脸验明和录像检测的三大功用。为了更好地的忧虑,简略绍介这三个应变量的功能。

  人脸验明:次要功用是人脸表达、人脸检测与人脸坚信礼。在线和离线刚要不类似于的取得办法,都是类似于的。。

  录像检测:刚要翻开相机,相机的相片倘若是人脸。 

  这三个功用在演示金中都去极小的。,喂没什么可说的。现时我要分享的是相机履历(一帧的履历),当时的运用该履历举行人脸验明。

使感动1。集成SDK(见官方的文档)。

  当检查文档时,我心不在焉便笺开发者应用程式重现的JSON体式。。因而为了无痛,可以运用FACECT、FaceUtil和ParseResult类拷上来(可以本人蜡纸油印机后解析)。

使感动2。稿件、FACUTIL和PARSERESUT类都在本人的签订协议中。。

使感动3。详细施行;认为使感动1和使感动2已成执行。。

  找到预先观看和坚信礼功用的新预先观看使焦虑。。同样PreviewActivity的法典粗俗的都是出生于讯飞FaceDemo的类,因同样类取得了预先观看和人脸检测功用。,只需在喂添加坚信礼应变量那就够了。。在线和离线坚信礼,上面是在线坚信礼。在线坚信礼是同样类的运用。在文档中体格每一面,mFaceRequest = new FaceRequest(this);设置限制因素继后让与(mImageData,
mRequestListener)就可以了。

  阿谁同样限制因素要设置什么限制因素呢?人脸表达和倚靠功用需求的限制因素都不类似于(详细资料见官方的文档),无论方法它们都需求每一八位位组的[]阻止来容纳图片履历。。同样视频博客最重要的党派是什么?

获取八位位组的办法是什么?。

细心的人停止划桨被发现的人,当敝设置相机回调时。,您可以在OnPrimeVIEW骨架构架的回调中取得每一八位位组,无论方法,这就是敝需求的数字。

对吗?这是好好地的。,这些履历有效地是相机履历的每一骨架构架。。无论方法假定您尝试运用这些履历来处置它(面部登记签到或坚信礼),你会被发现的人心不在焉成。,当时的尝试运用这些履历来替换位图。,返

前进零点。成绩在哪里?

  不要急,答案很快就会发布。。让敝再看看相机设置。

                         Parameters 帕拉姆

                         ();

                         (PREVIEW_WIDTH,PREVIEW_HEIGHT);

                        (帕拉姆斯)

你被发现的人了什么?是的,敝正搜集的帧体式是NV21。,它归咎于RGB或ARGB。

  成绩先前处理了。,因而把NV21的履历瀑布RGB。喂有每一办法可以在网上找到它。

public static int[] convertYUV420_NV21toRGB8888(byte[] data, int width, int 顶点) {
    int size = width * height;
    int offset = size;
    int[] pixels = new int[度];
    int u, v, y1, y2, y3, y4;
// i percorre os Y and the final pixels
    // k percorre os pixles U e V
for (int i = 0, k = 0; i < size; i += 2, k += 2) {
        y1 = 履历[I] & 0xff;
y2 = 履历〔I〕 + 1] & 0xff;
y3 = 履历[宽度] + i] & 0xff;
y4 = 履历[宽度] + i + 1] & 0xff;
u = 履历[偏移量] + k] & 0xff;
v = 履历[偏移量] + k + 1] & 0xff;
u = u - 128;
v = v - 128;
像素[I] = convertYUVtoRGB(y1, u, v);
像素[I + 1] = convertYUVtoRGB(y2, u, v);
像素[宽度] + i] = convertYUVtoRGB(y3, u, v);
像素[宽度] + i + 1] = convertYUVtoRGB(y4, u, v);
        if (i != 0 && (i + 2) % width == 0)
            i += width;
}
    return pixels;
}

private static int convertYUVtoRGB(int y, int u, int v) {
    int r, g, b;
r = y + (int)  * v;
g = y - (int) ( * u +  * v);
b = y + (int)  * u;
r = r > 255 ? 255 : r < 0 ? 0 : r;
g = g > 255 ? 255 : g < 0 ? 0 : g;
b = b > 255 ? 255 : b < 0 ? 0 : b;
    return 0xff000000 | (b << 16) | (g << 8) | r;
}

  转出后,再翻转图片(位图),有些相机的举止不好好地,需求设置举止。,图像举止倾向于坚信礼或表达去重要。有很多人认识方法旋转眼镜框。,喂再也心不在焉同样了。。

  是在线录像履历体式的次要技术吗?!

演示无法经过,我不认识为什么不克不及经过。

发表评论

电子邮件地址不会被公开。 必填项已用*标注