科大讯飞视频检测并验证

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

  转出后,再翻转图片(位图),有些相机的方位不向右,必要设置方位。,图像方位为了校对或表示与众不同的重要。有很多人意识到何种地步旋转人构成的画面或场景。,嗨再也缺勤因此了。。

  是在线电视频率材料体式的次要技术吗?!

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

发表评论

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