DM8168集成图像算法--集成SCD(可进一步运动检测、运动跟踪等)
来源:互联网 发布:sql语句创建表 编辑:程序博客网 时间:2024/04/27 20:20
简介:
SCD算法是在DVRRDK的DSP中运行的,随DVRRDK一起提供的。并且在3.0以上的版本中在Mcfw_demo里实现了类似目标的跟踪等高级功能。SCD采用DMVAL库,所以核心的算法源码没有给出。SCD的intergration文档中对于其相关参数有说明。但是DVRRDK没有在Link_api_demos中实现SCD。所以将其在doubles_doubleChCapScEncSend.c中实现1080p的处理:
步骤:
1.向chains中加入相关的link:
目前ScdLink位于dup0之后,因为dup可以有3个输出队列,1个给encLink,1个给display,1个给Scd。
UInt32 sclrId;
UInt32 nsfId2;
UInt32 ipcFramesOutVpssId2;
UInt32 ipcFramesInDspId2;
UInt32 scdId;
UInt32 ipcBitsOutDspId2;
UInt32 ipcBitsInHostId2;
一定要注意scd的输入仅支持420格式,这个在文档中说支持422/420是错误的。422会有格式不支持的报错:
另外一定要注意link create时的顺序,必须按照数据流的相反顺序进行创建,否则会出现以下类似的错误。
还有,根据link的结构,如果该link消耗buffer,那么它一定需要从nextlink来获取空buffer,所以在调试时next link是必须有的(可以使用null link调试),比如没有OutDspLink之后的link,在运行时就会提示:0x9是空指针的错误(在DMVAL的文档中有说明)。
2.读取SCD的状态:
可以通过发送消息主动获取其状态:
System_linkControl(
scdId, ALG_LINK_SCD_CMD_GET_ALL_CHANNEL_FRAME_STATUS,
&(scdAllChFrameStatus),
sizeof(scdAllChFrameStatus),
TRUE
);
好的方法是借鉴Demo_scd_bits_wr.c进行bits的获取,到hostA8中进行分析,因此移植了Demo_scd_bits_wr.c、Demo_scd_bits_wr.h,在chains中只需要调用:
Scd_bitsWriteCreate(0,ipcBitsInHostId2); //Init scd's ipcBitsInHost by:guo8113
创建相关的线程
Chains_ipcBitsInitCreateParams_BitsInHLOSVcap(&ipcBitsInHostPrm2);
//为ipcBitsInHostLink注册回调函数
就可以在chains_scd_bits_wr.c的void*Scd_bitsWriteMain(void *pPrm)函数中进行相应的操作了。具体内容,参考chains_scd_bits_wr.c。(根据Demo_scd_bits_wr.c进行定制)
可能会遇到的问题:关于Link的回调线程只运行n(6或有限次数)的问题:
IpcBitsLink需要从Host A8获得空的Buffer,并交给IpcBItsInHost才可以不断的取数据生成满的Buffer,参考Demo_scd_bits_wr.c实现
Scd_getAlgResultBuffer、Scd_releaseAlgResultBuffer等函数。
===========================================================================================
不宜详细描述,仅提供参考思路,有问题可以留言、交流。
转载请注明:http://blog.csdn.net/guo8113/article/details/41693289
===========================================================================================
- DM8168集成图像算法--集成SCD(可进一步运动检测、运动跟踪等)
- DM8168集成图像算法
- DM8168集成图像算法
- DM8168集成图像算法
- DM8168集成图像算法helloworld
- 运动图像目标检测与跟踪简述
- 运动目标跟踪与检测的源代码(CAMSHIFT 算法)
- 运动目标跟踪与检测的源代码(CAMSHIFT 算法)
- 运动目标跟踪与检测的源代码(CAMSHIFT 算法)
- 运动目标检测跟踪主流算法
- 运动目标检测与跟踪常用算法
- DM8168集成图像算法(改正官方文档中错误)
- 【图像处理】运动目标检测ViBe算法(附代码)
- Matlab图像序列中的运动目标检测与跟踪
- 对视频序列的 运动检测 目标跟踪(运动目标的检测与跟踪)
- 人体运动检测与跟踪
- 运动目标检测与跟踪
- 运动目标检测和跟踪
- TableView一些用法
- Red语言入门(2)—— 第一个Red程序
- volley的简单使用
- Percona XtraBackup简单使用操作命令
- 如果你报createSQLQuery is not valid without active transaction,请看这里
- DM8168集成图像算法--集成SCD(可进一步运动检测、运动跟踪等)
- 程序的组成
- 在Docker中部署GitLab
- 网页防篡改技术比较
- android 上传图片 客户端与 服务端 方案总结 (包括获取当前的进度)
- subview zoomscale+++++倒计时
- OpenGL super bible(5th) 学习笔记 -- 像素缓冲区对象(PBO)
- 如何实现网页防篡改
- 好东西就要分享,请各位同学拿走吧