科大讯飞视频检测并验证

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

  讯飞人脸辨出的demo中相当在线人脸辨出、脱机人脸辨出和图像检测的三大功用。为了更合适的的领会,我将扼要引见这三个职务的功用。。

  人脸辨出:首要功用是人脸对齐。、人脸检测与人脸试验。在线和离线要过错清楚的的成方式。,产生都是平等地的。。

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

  这三个功用在其演示中是恰好是分的。,这边没什么可说的。。现时我要分享的是相机唱片(一帧的唱片),以后应用该唱片举行人脸辨出。。

接近1。集成SDK(见权威文档)。

  检查文档时,我无笔记开发者应用程式反复的JSON体式。。因而没精打采的,您可以应用FACECT。、FaceUtil和ParseResult类拷顺便来访(可以本人特征后解析)。

接近2。剽窃、对他们本人的文章举行辨析和处置。。

接近3。详细履行;承认曾经成地成功了接近1和接近2。。

  成立预映和试验功用的新预映灵活的。。这么地PreviewActivity的法典最都是来自某处讯飞FaceDemo的类,由于这么地类成了预映和人脸检测功用。,只需在这边添加试验职务那就够了。。试验是联机和脱机的。,这是在线试验。。在线试验本这么地类别。。思考纵列树立一面。,mFaceRequest = new FaceRequest(this);设置决定因素后来地祈求救助(mImageData,
mRequestListener)就可以了。

  指前面提到的事物这么地决定因素要设置什么决定因素呢?人脸对齐和那个功用必要的决定因素都不平等地(典礼见权威文档),只是它们都必要一音节的[]大楼来容纳图片唱片。。这么地视频博客的首要大量是什么?

什么通行这么地音节?。

细心的人从容的找到,当we的所有格形式设置相机回调时。,您可以在OnPrimeVIEW边框的回调中通行一音节,只是,这马上we的所有格形式必要的数字。

据吗?没错,这些唱片事实上的是照相机的唱片。。只是假设您尝试应用这些唱片来处置它(面部注册或试验),你弱找到成的。,再次尝试将此唱片替换为位图。,返

前进零点。成绩在哪里?

  不要急,答案很快就会发布。。让we的所有格形式看一下相机的设置。。

                         Parameters 帕拉姆

                         ();

                         (PREVIEW_WIDTH,PREVIEW_HEIGHT);

                        (帕拉姆斯)

你找到什么了吗?对。,we的所有格形式在搜集的帧是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)

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