android - 如何使用 javacv 在 android 中将图像转换为视频?

标签 android image video opencv javacv

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

我试试这门课,

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

我的错误就像,

  opencv error unspecified error.

我的问题是如何在android中集成opencv/javacv,有没有步骤或者教程?

谢谢,

最佳答案

使用以下几行。

**

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

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

关于android - 如何使用 javacv 在 android 中将图像转换为视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13643046/

相关文章:

opencv - ffmpeg 将可变帧率 .webm 转换为恒定帧率视频

java - 如何获取最准确的用户位置

android - 在 sqlite 中创建索引列

android - Visual Studio 无法调试 Android Xamarin 应用程序

Android SQLiteCursor - getString 从空值列返回值

android - 如何为 setCompoundDrawablesWithIntrinsicBounds 设置色调颜色?

ImageMagick - 像其他照片管理应用程序一样自动调整图像的颜色?

video - FFMPEG - 改变我的覆盖视频的饱和度

android - 如何在 Android 中使用 FFMPEG 库播放视频?