AS的JNI工程及引用OpenCV

本文详细介绍了如何在Android Studio中集成OpenCV,从创建项目、配置JNI到解决集成过程中的bug,最终实现灰度图片的功能。通过解析MainActivity、分析CMakeLists.txt,以及探讨JNI中对Bitmap的操作,读者将掌握OpenCV在Android上的应用。
摘要由CSDN通过智能技术生成

一把利刃,用不好,会伤到你遍体鳞伤。用得好,便为你披荆斩棘,所向披靡。好与不好之间,便是历练。
几经波折,终于跌跌撞撞,集成了OpenCV,并实现了灰度图片,自此一扇新的大门已经打开。

至此我手中已经基本集齐了所需的技能碎片。本文你包括:

[1].OpenCV在AndroidStudio中的集成
[2].第一个JNI项目的解析
[3].JNI中对于Android中的Bitmap类的使用
[4].一个灰度的例子开启OpenCV的世界

1、创建项目
1.1:下载OpenCV的SDK

首先到官网下载OpenCV的Android包

so文件所在: sdk -> native -> libs
c++的代码 : sdk -> native -> jni -> include -> opencv2 
1.2:创建一个Android Native c++的项目

项目结构如下

1.3:运行第一个项目

结果如下,在中间显示了一行:“Hello from C++”

2.JNI初始项目分析
2.1:MainActivity分析

静态代码块中使用System.loadLibrary方法加载了native-lib
native方法stringFromJNI()返回一个String并设置到了TextView上

---->[src/main/java/com/toly1994/rec/MainActivity.java]----
public class MainActivity extends AppCompatActivity {
    static {
        System.loadLibrary("native-lib");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView tv = findViewById(R.id.sample_text);
        tv.setText(stringFromJNI());
    }

    /**
     * A native method that is implemented by the 'native-lib' native library,
     * which is packaged with this application.
     */
    public native String stringFromJNI();
}
2.2:native-lib.cpp分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值