我正在研究“人脸检测”这个话题,它可以从视频中检测人脸,并将其转换成GIF格式,这样任何人都可以共享自己的表情。
我编写了方便的算法来实现这一点。让我解释一下它应该如何工作:
step1: First视频将按照提供的fps将其转换为帧,并将其转换为图像的数量。
step2:,现在我有了框架,就像图像一样,他们有脸,安卓人脸检测api或者其他任何东西,如果你有建议的话,.It会从图像中检测人脸。
Step3:只裁剪这些图像和面部图像。
Step4:获取这些裁剪文件并将其转换为GIF文件。
因此,step4正是我的问题:我们如何才能将这些裁剪的图像转换成gif格式。
我很感激你能给我的任何信息
发布于 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()函数是一种方法,用于同时返回图像适配器中的所有位图文件。所以输入是一个适配器中的所有位图文件,输出是一个字节数组,您可以将其写入文件。
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中。
FileOutputStream outStream = null;
try{
outStream = new FileOutputStream("/sdcard/generate_gif/test.gif");
outStream.write(generateGIF());
outStream.close();
}catch(Exception e){
e.printStackTrace();
}(归功于救生员)
https://stackoverflow.com/questions/34199799
复制相似问题