完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
|
相关推荐
1个回答
|
|
|
有时候我们会需要使用第三方的so库。
但是我们在使用的时候,看不到源码。只能根据库的提供者,提供的信息来使用这个库。 我们需要知道库的接口,和库里面的包名。 今天我们调用一个第三方的驱动库,主要是用IIC驱动Terawins的图像处理芯片T613。 首先库的接口如下: package com.t613.t613_demo; /** * Created by Administrator on 2019/7/19. */ public class t613_Interface { static { System.loadLibrary("T613_I2C_DLL"); System.loadLibrary("T613_algorithm_DLL"); } //function declaration public native byte[] I2c_read_single(byte u8BusIndex, int u32RegStart, int nLen); public native int I2c_write_single(byte u8BusIndex, int u32RegStart, byte[] szBufWrite); public native int I2c_nbytes_write(byte u8BusIndex, int u32RegStart, byte[] szBufWrite, int nLen); public native static String get(); public native static int[] t613_register_config(T613_parameter t613_param); public native static int[] t613_perspective(T613_parameter t613_param, double perspect_info[][]); public native static int[] t613_predict_correction(T613_parameter t613_param, float[] angle); } IIC写底层寄存器和T613的初始化参数和梯形变换以及四点校正。 首先我们把so库拷贝到libs下面。 ![]() 这里面是我们要调用的两个so库,一个是T613_I2C_DLL 另一个是T613_algorithm_DLL。如下图 ![]() 包的层次是 com.t613.t613_demo 我们需要新建包,层次如下: ![]() 然后再这个目录下新建t613_Interface和T613_parameter两个类。 最后我们还要设置一下,指定调用库的路径。在app目录下的build.gradle中设置: ![]() 到这里我们对第三方库的添加就完成。 最后我们的demo中可以看到我们在调用第三方库后的图像处理效果。(图像处理部分略去)。 |
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
507 浏览 0 评论
米尔RK3576成功上车!ROS2 Humble生态系统体验
1444 浏览 0 评论
寻求 IOT-MKC3568-Main-v1.1 (基于 EVB1-V10) 开发板的移植帮助.
1008 浏览 0 评论
1753 浏览 1 评论
谁有3566+电池+POE充电的方案,有个项目需要用该功能的主板
1753 浏览 0 评论
/5
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2026-5-19 20:32 , Processed in 0.528579 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察

淘帖
3347