如何使用javacv在android中将图像转换为视频? [英] how to convert images into video in android using javacv?

查看:76
本文介绍了如何使用javacv在android中将图像转换为视频?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在android中将sdcard图像转换为视频.经过多次搜索我发现在javacv中是可能的.当我在纯java中尝试简单的javacv示例时,它在我的eclipse中运行良好.但是当我变成android时,同一个示例在android.i中没有运行.我下载并在myproject->libs/armeabi文件夹中添加所有.jar文件和.so文件.我的项目没有显示任何错误.但在运行时发生错误.

我尝试使用这个类,

package com.example.ndkfoo_sample;导入静态 com.googlecode.javacv.cpp.opencv_core.cvReleaseImage;导入静态 com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage;导入静态 com.googlecode.javacv.cpp.opencv_highgui.cvShowImage;导入静态 com.googlecode.javacv.cpp.opencv_highgui.cvWaitKey;导入静态 com.googlecode.javacv.cpp.opencv_imgproc.CV_GAUSSIAN;导入静态 com.googlecode.javacv.cpp.opencv_imgproc.cvSmooth;导入 com.googlecode.javacv.cpp.opencv_core.IplImage;导入 android.os.Bundle;导入 android.app.Activity;导入 android.view.Menu;公共类 MainActivity 扩展 Activity {//@覆盖public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);IplImage img=cvLoadImage("helloworld.jpg");cvShowImage("/mnt/sdcard/helloworld",img);cvSmooth(img,img,CV_GAUSSIAN,13);cvShowImage("模糊图像",img);cvWaitKey();cvReleaseImage(img);}@覆盖公共布尔 onCreateOptionsMenu(菜单菜单){getMenuInflater().inflate(R.menu.activity_main, menu);返回真;}}

我的错误就像,

 opencv 错误未指定的错误.

我的问题是如何在android中集成opencv/javacv.有什么步骤或教程吗?

谢谢,

解决方案

使用以下几行.

**

opencv_core.IplImage img = cvLoadImage("/sdcard/folder/img1.jpg");FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("/sdcard/folder/test.mpeg",200,150);尝试 {recorder.setCodecID(CODEC_ID_MPEG1VIDEO);recorder.setFrameRate(30);recorder.setPixelFormat(PIX_FMT_YUV420P);录音机开始();for (int i=0;i<100;i++){recorder.record(image[x]);}recorder.stop();}捕获(例外 e){e.printStackTrace();}

**这是由 javacv 库支持的.有关更多详细信息,请阅读 Javacv Readme.txt 文件.希望这会帮助你.

i want to convert the sdcard images into video in android.After many of searching i found it is possible in javacv.when i try simple javacv sample in pure java,its working perfectly in my eclipse.but when i turn into android,the same sample does not run in android.i download and add all the .jar files and .so files in myproject->libs/armeabi folder.my project doesn't show any errors.but error occcured during the runtime.

i try with this class,

package com.example.ndkfoo_sample;

import static com.googlecode.javacv.cpp.opencv_core.cvReleaseImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvShowImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvWaitKey;
import static com.googlecode.javacv.cpp.opencv_imgproc.CV_GAUSSIAN;
import static com.googlecode.javacv.cpp.opencv_imgproc.cvSmooth;

import com.googlecode.javacv.cpp.opencv_core.IplImage;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

//  @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
IplImage img=cvLoadImage("helloworld.jpg");

    cvShowImage("/mnt/sdcard/helloworld",img);
    cvSmooth(img,img,CV_GAUSSIAN,13);
    cvShowImage("Blur-Image",img);
    cvWaitKey();
    cvReleaseImage(img);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}
}

My error is like as,

  opencv error unspecified error.

My question is how to integrate opencv/javacv in android.is there any steps or tutorials.?

thanks,

解决方案

Use the following lines .

**

opencv_core.IplImage img = cvLoadImage("/sdcard/folder/img1.jpg");
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("/sdcard/folder/test.mpeg",200,150);

    try {
       recorder.setCodecID( CODEC_ID_MPEG1VIDEO);
       recorder.setFrameRate(30);
       recorder.setPixelFormat(  PIX_FMT_YUV420P);
       recorder.start();

       for (int i=0;i<100;i++)
       {
          recorder.record(image[x]);
       }
       recorder.stop();
    }
    catch (Exception e){
       e.printStackTrace();
    }

** This is supported by javacv library. for more details read Javacv Readme.txt file. Hope this will help you.

这篇关于如何使用javacv在android中将图像转换为视频?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆