如何使用javacv在android中将图像转换为视频? [英] how to convert images into video in android using javacv?
问题描述
我想在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屋!