科大讯飞视频检测并验证

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

  讯飞人脸验明的demo中一些在线人脸验明、脱机人脸验明和图像检测的三大功用。为了甚至更好的拘押,我将简明的引见这三个作用的功用。。

  人脸验明:首要功用是人脸指示。、人脸检测与人脸坚信礼。在线和离线正好有区别的的成真办法。,后果都是两者都的。。

  图像检测:那就是翻开相机。,照相机的相片是人脸吗?。 

  这三个功用在其演示中是极明确的的。,在这里没什么可说的。。现时我要分享的是相机标明(一帧的标明),当时的运用该标明停止人脸验明。。

移动1。集成SDK(见高级职员文档)。

  检查文档时,我没参观显像剂现场恢复的JSON体式。。因而空闲的,您可以运用FACECT。、FaceUtil和ParseResult类拷发生(可以本身蜡纸油印机后解析)。

移动2。升起、对他们本身的项主语停止辨析和处置。。

移动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;
}

  向后转转向图片(位图),有些相机的方针的确定不正确,需求设置方针的确定。,图像驻扎军队大约坚信礼或指示是要紧的。。很多人都晓得怎样旋转图片。,在这里没更多的详细情况。。

  是在线图像标明体式的首要技术吗?哈哈?!

演示无法经过。,我不晓得为什么我不克不及经过。。

Leave a Comment

(0 Comments)

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