录像检索算法
C在底层应用,或是在不成熟领域的算法开发确实效率很高。
但是在比较成熟操作应用方面,例如文件夹操作,C#相对于c有更多已封装的类和方法。
例如:文件/文件夹遍历操作
http://www.cnblogs.com/skylaugh/archive/2012/09/23/2698850.html
类DirectoryInfo TheFolder = new DirectoryInfo(folderFullName)
GetDirectories()遍历文件夹
GetFiles() 遍历文件
FileInfo.Exists 获取文件是否已存在
FileInfo.Name 获取文件名
FileInfo.Extensioin 获取文件扩展名
FileInfo.Length 获取文件大小
FileInfo.CreateTime 获取文件创建时间
FileInfo.LastAccessTime 获取文件访问时间
FileInfo.LastWriteTime 获取文件最后一次更改时间
方法:遍历文件夹,获取文件;比较创建时间,过滤文件。
C# 常用工具小方法
SubString() 截取字符串
Replace(“AB”,”ab”);替换字符串
DateTime dt = Convert.ToDateTime(“2016-11-0910:12:12”);
DateTime dt2=dt.AddDays(-1); //提前一天
C#调用c++封装的库
库接口不能用模板类型数据
#define SOFTWRAPPER_API extern “C”__declspec(dllexport)
extern “C” __declspec(dllexport) void Product(int ,int )
exterm “C” __declspec(dllexport) voidProduct(int ,int)
{
Int+ int;
}
C#
[DllImport(“CppDll.dll”,CallingConvertion =CallingConvertion.Cdecl)]
Public static extern int Product(int ,int);
数据类型
C 中 dueue 队列
C#中比较丰富 dictironary<key,value>字典 Queue 队列
控件:
从界面控件上,C#更有优势,C#控件多样性,且封装的可用接口方法更多,易用。
WindowMediaPlay控件在两种语言中都能应用
ListView 列表控件
TreeView 树控件
结构体与类对比
未完成的数据库保存方案
比较时间用的是文件的创建(建成)时间
优点:时间获取速度快,不用截取文件件时间字段
路径通过递归算法直接获取文件,方面快捷统一,不需要做不同摄像机的路径不同做特殊处理。
缺点:获取文件的创建时间,和视频发生的时间有不同。一般创建时间会晚于视频发生时间,且长度不等,大约0-1小时内。
1、 获取路径一个递归算法搞定
2、 过滤通过文件的创建时间比较搞定
3、 拼接路径通过一个字典搞定