更新文件
This commit is contained in:
parent
ed504d0edb
commit
e271a5cec9
54
android 使用ffmpeg 转yuv成rgb.md
Normal file
54
android 使用ffmpeg 转yuv成rgb.md
Normal 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
37
mqtt协议.md
Normal 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"
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
@ -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')
|
||||
```
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user