更新文件

This commit is contained in:
yewuya 2022-01-23 17:09:35 +08:00
parent ed504d0edb
commit e271a5cec9
3 changed files with 108 additions and 1 deletions

View File

@ -0,0 +1,54 @@
# android 使用ffmpeg 将avframe yuv 成avframe rgb
## 设置视频转换参数
```java
img_convert_ctx = sws_getContext(
1440, //源视频宽度
1088, //源视频高度
AV_PIX_FMT_YUV420P, //源视频格式
720, //输出视频宽度
540, //输出视频高度
AV_PIX_FMT_RGB24, //输出视频格式
SWS_POINT, //视频转码算法
null, //额外参数1
null, //额外参数2
(DoublePointer) null //额外参数3
);
```
## 转换数据
```java
sws_scale(
img_convert_ctx,
//SwsContext *swsContext 转换上下文
m_pFrame.data(),
//源视频数据
m_pFrame.linesize(),
//源视频每行数据长度
0,
//源图像数据数组处理的索引值 , 从 0 开始计数 , 一般是 0
m_pCodecCtx.height(),
//源视频高度即有多少行数据
m_pFrameRGB.data(),
//目标视频数据
m_pFrameRGB.linesize()
//目标视频每行有多少数据
);
```
## avframe rgb 转 mat
```java
Mat mat = new Mat(1080, //图片高度
1440, //图片宽度
CvType.CV_8UC3, //图片格式
m_pFrameRGB.data(0).asBuffer(), //avframe 数据
m_pFrameRGB.linesize(0) //数据每行长度
);
```

37
mqtt协议.md Normal file
View File

@ -0,0 +1,37 @@
# 自检消息内容
```json
{
"remote":遥控器连接状态, //0 正常 1 断开
"drone":无人机连接状态, //0 正常 1 断开
"power":电量, //0 电量充足 1电量不足
"battery_temperature", //0 正常 1 过高 2 过低
"battery_cycle":电池循环次数, //0 正常 1 循环次数过高
"storage":存储容量, //0 正常 1 容量不足
"signal":遥控器信号强度, //0 正常 1 信号太差
"sensors":传感器状态, //0 正常 1 传感器异常
"gimbal":云台检测, //0 有相机 1 有相机
}
```
## 测试消息
```json
{
"request_id":"0001",
"platform":"0001",
"mission_id":"000001",
"device_id":"001",
"send_sdk":"msdk",
"type":"uav_check",
"data":"",
"status":200,
"time":"2021-12-21"
}
```

View File

@ -103,7 +103,23 @@ python ../opencv/platforms/android/build_sdk.py --extra_modules_path=../opencv_
## Android 项目导入opencv sdk
* 修改sdk build.gradle 文件中的compileSdkVersion 30 targetSdkVersion 30为Android项目相同的版本
* 注释 path (project.projectDir.toString() + '/libcxx_helper/CMakeLists.txt')
* 添加jnilib 在app/路径下创建lib文件夹并将sdk\native\libs\arm64-v8a 复制到lib 路径下
```java
sourceSets {
main {
jni.srcDirs=[]
jniLibs.srcDirs=['libs'] //jnilib 路径
}
}
```
* 在项目目录下创建文件夹custom_opencv并将sdk/java 和build.gradle复制到文件夹下
* setting.gradle 添加 include ':custom_opencv'
* app build.gradle 添加依赖
```java
implementation project(path: ':custom_opencv')
```