首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从视频中检测人脸并将其转换为gif

从视频中检测人脸并将其转换为gif
EN

Stack Overflow用户
提问于 2015-12-10 10:43:04
回答 1查看 208关注 0票数 2

我正在研究“人脸检测”这个话题,它可以从视频中检测人脸,并将其转换成GIF格式,这样任何人都可以共享自己的表情。

我编写了方便的算法来实现这一点。让我解释一下它应该如何工作:

step1: First视频将按照提供的fps将其转换为帧,并将其转换为图像的数量。

step2:,现在我有了框架,就像图像一样,他们有脸,安卓人脸检测api或者其他任何东西,如果你有建议的话,.It会从图像中检测人脸。

Step3:只裁剪这些图像和面部图像。

Step4:获取这些裁剪文件并将其转换为GIF文件。

因此,step4正是我的问题:我们如何才能将这些裁剪的图像转换成gif格式。

我很感激你能给我的任何信息

EN

回答 1

Stack Overflow用户

发布于 2015-12-10 10:52:36

有关步骤4,请参见此解决方案。

https://github.com/nbadal/android-gif-encoder

这是这篇文章的Android版本。

http://www.jappit.com/blog/2008/12/04/j2me-animated-gif-encoder/

要使用这个类,下面是一个生成GIF字节数组的示例助手方法。注在这里,getBitmapArray()函数是一种方法,用于同时返回图像适配器中的所有位图文件。所以输入是一个适配器中的所有位图文件,输出是一个字节数组,您可以将其写入文件。

代码语言:javascript
运行
复制
public byte[] generateGIF() {
    ArrayList<Bitmap> bitmaps = adapter.getBitmapArray();
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    AnimatedGifEncoder encoder = new AnimatedGifEncoder();
    encoder.start(bos);
    for (Bitmap bitmap : bitmaps) {
        encoder.addFrame(bitmap);
    }
    encoder.finish();
    return bos.toByteArray();
}

若要使用此函数,请执行以下操作,然后可以将文件保存到SDcard中。

代码语言:javascript
运行
复制
FileOutputStream outStream = null;
        try{
            outStream = new FileOutputStream("/sdcard/generate_gif/test.gif");
            outStream.write(generateGIF());
            outStream.close();
        }catch(Exception e){
            e.printStackTrace();
        }

(归功于救生员)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34199799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档