【Java CV与Android】在Android工程里配置JavaCV
来源:互联网 发布:无人机编队飞行软件 编辑:程序博客网 时间:2024/05/15 08:23
版权声明:本文转载自这位大神 http://blog.csdn.net/zgljl2012/article/details/48193859
目录(?)[-]
具体配置过程
实例
在Android中配置JavaCV的步骤相当简单,分为三步:
1. 在网上下载javacv-x-bin包和opencv-x-android-arm包,我这有javacv-0.7-bin和opencv-2.4.3-android-arm
2. 在两个包中提取出.so库和.jar库中,放入Android项目的libs中;
3. 将.jar包通过 add jar添加进项目
具体配置过程
1.下载两个包:
javacv-0.7-bin
opencv-2.4.3-android-arm
2.在Eclipse中创建Android项目,项目名称为:TestJavaCV
3.在libs文件下创建文件夹:armeabi
4.解压两个包,在javacv-0.7-bin里找到
将其解压,进入文件里底层,看到
将所有这些库放到libs/armeabi文件夹下
5.在javacv-0.7-bin里找到
将这两个包放入libs文件夹下
6.进入项目的Build Path,点击Add JARs…将上述两个jar添加进项目,切记,是Add JARs,不是Add External JARs
7.进入解压后的opencv-2.4.3-android-arm文件夹,进入libs/armeabi,将以下所有so库都添加进入Eclipse项目的libs/armeabi文件夹下:
8.至此,配置完毕
实例
下面写一个实例,使用JavaCV旋转一张图像,然后在ImageView中显示。
activity_main中将TextView改成ImageView,id为img
在MainActivity写入如下代码:
package com.example.testjavacv; import static com.googlecode.javacv.cpp.opencv_core.IPL_DEPTH_8U; import static com.googlecode.javacv.cpp.opencv_core.cvFlip; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.widget.ImageView; import com.googlecode.javacv.cpp.opencv_core.IplImage; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 实例化控件 ImageView img = (ImageView) findViewById(R.id.img); // 创建图像, p4是随便找的一张图像,这里可以自己随便找一张图片代替 Drawable drawable = idToDrawable(R.drawable.p4); Bitmap bitmap = this.drawableToBitmap(drawable); // 将Bitmap转化为IplImage IplImage iplImage = this.bitmapToIplImage(bitmap); // 处理图像,比如旋转图像 cvFlip(iplImage, iplImage, 0); // 再将IplImage转化为Bitmap bitmap = this.IplImageToBitmap(iplImage); img.setImageBitmap(bitmap); } /** * IplImage转化为Bitmap * @param iplImage * @return */ public Bitmap IplImageToBitmap(IplImage iplImage) { Bitmap bitmap = null; bitmap = Bitmap.createBitmap(iplImage.width(), iplImage.height(), Bitmap.Config.ARGB_8888); bitmap.copyPixelsFromBuffer(iplImage.getByteBuffer()); return bitmap; } /** * Bitmap转化为IplImage * @param bitmap * @return */ public IplImage bitmapToIplImage(Bitmap bitmap) { IplImage iplImage; iplImage = IplImage.create(bitmap.getWidth(), bitmap.getHeight(), IPL_DEPTH_8U, 4); bitmap.copyPixelsToBuffer(iplImage.getByteBuffer()); return iplImage; } /** * 将资源ID转化为Drawable * @param id * @return */ public Drawable idToDrawable(int id) { return this.getResources().getDrawable(R.drawable.p4); } /** * 将Drawable转化为Bitmap * @param drawable * @return */ public Bitmap drawableToBitmap(Drawable drawable) { if(drawable == null) return null; return ((BitmapDrawable)drawable).getBitmap(); } }
- 【Java CV与Android】在Android工程里配置JavaCV
- 【Java CV与Android】在Android工程里配置JavaCV
- 【Java CV与Android】JavaCV实现IplImage与Bitmap的相互转换
- android+javaCV环境配置
- 【Android】Test JavaCV & OpenCV
- 【Android】JavaCV and OpenCV
- 请问一下Android Studio如何配置JAVACV 0.8Javacv+2.4.9Opencv 万分感谢
- 关于在Android中使用JavaCV的问题
- 收集Android里xml配置属性在java代码里的实现
- android读取工程里文件并显示在界面
- 在Android Studio 工程 jni 里调用opencv库
- Android Studio当中配置Open CV
- 在Android studio中建立Java工程
- 在Android Studio中创建Java工程
- Android 里js 与java相互调用
- 配置JavaCV
- JavaCV配置
- javaCV配置
- 医药采购之操作权限拦截器
- MyBatis Generator myeclipse 生成 mybatis
- 对有源滤波器和三极管的一些理解
- win732位 + QT4.8.6 + QT CRETER 环境配置的搭建
- Scala之Set、Map、TreeSet及TreeMap实例
- 【Java CV与Android】在Android工程里配置JavaCV
- 不良函数接口一例
- 第一次搜索-连连看= =
- 关系数据库中关系表间的连接(左连接,右连接,内连接,全连接,外连接)
- CDOJ 1061 秋实大哥与战争 暴力/set
- C++11中emplace_back和push_back的区别
- Win7 Qt4.8.5+QtCreator2.8.0+mingw配置过程
- Hadoop 下一代 MapReduce - 集群参数设置与启动
- Leetcode Letter Combinations of a Phone Number DFS