更新文件
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
|
## 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