我想在 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/