Commit 33269117 authored by 郝文豪's avatar 郝文豪

视频流识别和手动识别改为同一个识别函数

parent 8cf91d97
No preview for this file type
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\vc142.pdb
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmacekg-x86.obj
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\dllmain.obj
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\cppsqlite3.obj
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\commontools.obj
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\characterconversion.obj
c:\users\zhxx\desktop\work\fresh-plug-ins\bin\x86\wmacekg-x86.dll
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmacekg-x86.ipdb
c:\users\zhxx\desktop\work\fresh-plug-ins\bin\x86\wmacekg-x86.pdb
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmacekg-x86.iobj
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll-x86.res
c:\users\zhxx\desktop\work\fresh-plug-ins\bin\x86\wmacekg-x86.lib
c:\users\zhxx\desktop\work\fresh-plug-ins\bin\x86\wmacekg-x86.exp
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\cl.command.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\cl.read.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\cl.write.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\link.command.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\link.read.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\link.write.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\rc.command.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\rc.read.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\rc.write.1.tlog
c:\users\zhxx\desktop\work\fresh-plug-ins\release\x86\wmai-dll.tlog\wmai-dll.write.1u.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\vc142.pdb
c:\users\1\desktop\fresh-plug-ins\release\x86\wmacekg-x86.obj
c:\users\1\desktop\fresh-plug-ins\release\x86\dllmain.obj
c:\users\1\desktop\fresh-plug-ins\release\x86\cppsqlite3.obj
c:\users\1\desktop\fresh-plug-ins\release\x86\commontools.obj
c:\users\1\desktop\fresh-plug-ins\release\x86\characterconversion.obj
c:\users\1\desktop\fresh-plug-ins\bin\x86\wmacekg-x86.dll
c:\users\1\desktop\fresh-plug-ins\release\x86\wmacekg-x86.ipdb
c:\users\1\desktop\fresh-plug-ins\bin\x86\wmacekg-x86.pdb
c:\users\1\desktop\fresh-plug-ins\release\x86\wmacekg-x86.iobj
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll-x86.res
c:\users\1\desktop\fresh-plug-ins\bin\x86\wmacekg-x86.lib
c:\users\1\desktop\fresh-plug-ins\bin\x86\wmacekg-x86.exp
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\cl.command.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\cl.read.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\cl.write.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\link.command.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\link.read.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\link.write.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\rc.command.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\rc.read.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\rc.write.1.tlog
c:\users\1\desktop\fresh-plug-ins\release\x86\wmai-dll.tlog\wmai-dll.write.1u.tlog
......@@ -2,7 +2,7 @@
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\WmAceKG-x86.dll</FullPath>
<FullPath>C:\Users\1\Desktop\fresh-plug-ins\bin\x86\WmAceKG-x86.dll</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
......
No preview for this file type
No preview for this file type
 CharacterConversion.cpp
C:\Users\zhxx\Desktop\work\fresh-plug-ins\CharacterConversion.cpp(29,10): warning C4244: “=”: 从“_Ty”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\CharacterConversion.cpp(29,10): warning C4244: “=”: 从“_Ty”转换到“float”,可能丢失数据
with
[
_Ty=int
......@@ -8,42 +8,44 @@ C:\Users\zhxx\Desktop\work\fresh-plug-ins\CharacterConversion.cpp(29,10): warnin
CppSQLite3.cpp
dllmain.cpp
WmAceKG-x86.cpp
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(550,17): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(921,20): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(931,18): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(957,16): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1089,20): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1090,20): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1180,17): warning C4244: “初始化”: 从“time_t”转换到“long”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1305,45): warning C4244: “return”: 从“double”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1494,18): warning C4477: “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“const _Elem *”
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(557,17): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(935,20): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(945,18): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(971,16): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1103,20): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1104,20): warning C4244: “初始化”: 从“int”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1194,17): warning C4244: “初始化”: 从“time_t”转换到“long”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1319,45): warning C4244: “return”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1508,18): warning C4477: “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 1 拥有了类型“const _Elem *”
with
[
_Elem=char
]
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1494,18): warning C4477: “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 8 拥有了类型“const _Elem *”
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1508,18): warning C4477: “sprintf”: 格式字符串“%d”需要类型“int”的参数,但可变参数 8 拥有了类型“const _Elem *”
with
[
_Elem=char
]
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1662,23): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1737,34): warning C4244: “参数”: 从“double”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1923,34): warning C4244: “参数”: 从“double”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(2179,22): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(2224,27): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(2407,27): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3020,21): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3108,20): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3290,21): warning C4244: “参数”: 从“float”转换到“DWORD”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3317,33): warning C4018: “>”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3359,34): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3519,37): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3535,36): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3576,15): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3586,34): warning C4018: “>”: 有符号/无符号不匹配
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3595,26): warning C4244: “=”: 从“UINT64”转换到“unsigned long”,可能丢失数据
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(3616,13): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\type_traits(1595,98): warning C4244: “参数”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1676,23): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1773,34): warning C4244: “参数”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1962,34): warning C4244: “参数”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(2218,22): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(2263,27): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(2446,27): warning C4244: “=”: 从“double”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3060,21): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3148,20): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3349,21): warning C4244: “参数”: 从“float”转换到“DWORD”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3376,33): warning C4018: “>”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3419,34): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3398,8): warning C4101: “cropPath”: 未引用的局部变量
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3397,8): warning C4101: “rawPath”: 未引用的局部变量
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3579,37): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3595,36): warning C4018: “<”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3636,15): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3646,34): warning C4018: “>”: 有符号/无符号不匹配
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3655,26): warning C4244: “=”: 从“UINT64”转换到“unsigned long”,可能丢失数据
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(3677,13): warning C4244: “初始化”: 从“clock_t”转换到“float”,可能丢失数据
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\type_traits(1534,98): warning C4244: “参数”: 从“double”转换到“float”,可能丢失数据
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\thread(51): message : 查看对正在编译的函数 模板 实例化“int std::invoke<int(__cdecl *)(std::string,int,float,float,std::string,std::string,std::string,std::string),std::basic_string<char,std::char_traits<char>,std::allocator<char>>,int,int,double,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>(_Callable &&,_Ty1 &&,int &&,int &&,double &&,std::basic_string<char,std::char_traits<char>,std::allocator<char>> &&,std::basic_string<char,std::char_traits<char>,std::allocator<char>> &&,std::basic_string<char,std::char_traits<char>,std::allocator<char>> &&,std::basic_string<char,std::char_traits<char>,std::allocator<char>> &&) noexcept(false)”的引用
with
[
......@@ -62,12 +64,12 @@ C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.2
_Ty=int,
_Fn=int (__cdecl &)(std::string,int,float,float,std::string,std::string,std::string,std::string)
]
C:\Users\zhxx\Desktop\work\fresh-plug-ins\WmAceKG-x86.cpp(1840): message : 查看对正在编译的函数 模板 实例化“std::thread::thread<int(__cdecl &)(std::string,int,float,float,std::string,std::string,std::string,std::string),std::string&,int,int,double&,std::string,std::string,std::string,std::string,0>(_Fn,std::string &,int &&,int &&,double &,std::string &&,std::string &&,std::string &&,std::string &&)”的引用
C:\Users\1\Desktop\fresh-plug-ins\WmAceKG-x86.cpp(1878): message : 查看对正在编译的函数 模板 实例化“std::thread::thread<int(__cdecl &)(std::string,int,float,float,std::string,std::string,std::string,std::string),std::string&,int,int,double&,std::string,std::string,std::string,std::string,0>(_Fn,std::string &,int &&,int &&,double &,std::string &&,std::string &&,std::string &&,std::string &&)”的引用
with
[
_Fn=int (__cdecl &)(std::string,int,float,float,std::string,std::string,std::string,std::string)
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\type_traits(1595,98): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\type_traits(1534,98): warning C4244: “参数”: 从“int”转换到“float”,可能丢失数据
正在生成代码...
正在创建库 .\bin\x86\WmAceKG-x86.lib 和对象 .\bin\x86\WmAceKG-x86.exp
正在生成代码
......@@ -75,13 +77,13 @@ C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.2
D:\Projects\videopipe\libvideopipe\libvideopipe\src\utils.cpp(162): warning C4172: 返回局部变量或临时变量的地址: re_time
All 1864 functions were compiled because no usable IPDB/IOBJ from previous compilation was found.
已完成代码的生成
ret.lib(libhnsw.obj) : warning LNK4099: 未找到 PDB“libhnsw.pdb”(使用“ret.lib(libhnsw.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\libhnsw.pdb”中寻找);正在链接对象,如同没有调试信息一样
ret.lib(opencv_matoperations.obj) : warning LNK4099: 未找到 PDB“libhnsw.pdb”(使用“ret.lib(opencv_matoperations.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\libhnsw.pdb”中寻找);正在链接对象,如同没有调试信息一样
ret.lib(mnn_matoperations.obj) : warning LNK4099: 未找到 PDB“libhnsw.pdb”(使用“ret.lib(mnn_matoperations.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\libhnsw.pdb”中寻找);正在链接对象,如同没有调试信息一样
ret.lib(libmatmul_topk.obj) : warning LNK4099: 未找到 PDB“matmul_topk.pdb”(使用“ret.lib(libmatmul_topk.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\matmul_topk.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(video_motion_pipe.obj) : warning LNK4099: 未找到 PDB“libvideopipe.pdb”(使用“libvideopipe.lib(video_motion_pipe.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\libvideopipe.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(libio3_lat3d_c3d.obj) : warning LNK4099: 未找到 PDB“io3_lat3d_c3d.pdb”(使用“libvideopipe.lib(libio3_lat3d_c3d.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\io3_lat3d_c3d.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(libio3_lat3d_backbone.obj) : warning LNK4099: 未找到 PDB“io3_lat3d_backbone.pdb”(使用“libvideopipe.lib(libio3_lat3d_backbone.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\io3_lat3d_backbone.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(utils.obj) : warning LNK4099: 未找到 PDB“libvideopipe.pdb”(使用“libvideopipe.lib(utils.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\libvideopipe.pdb”中寻找);正在链接对象,如同没有调试信息一样
libretri.lib(libretri.obj) : warning LNK4099: 未找到 PDB“retri.pdb”(使用“libretri.lib(libretri.obj)”或在“C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\retri.pdb”中寻找);正在链接对象,如同没有调试信息一样
wmai-dll-x86.vcxproj -> C:\Users\zhxx\Desktop\work\fresh-plug-ins\bin\x86\WmAceKG-x86.dll
ret.lib(libhnsw.obj) : warning LNK4099: 未找到 PDB“libhnsw.pdb”(使用“ret.lib(libhnsw.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\libhnsw.pdb”中寻找);正在链接对象,如同没有调试信息一样
ret.lib(opencv_matoperations.obj) : warning LNK4099: 未找到 PDB“libhnsw.pdb”(使用“ret.lib(opencv_matoperations.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\libhnsw.pdb”中寻找);正在链接对象,如同没有调试信息一样
ret.lib(mnn_matoperations.obj) : warning LNK4099: 未找到 PDB“libhnsw.pdb”(使用“ret.lib(mnn_matoperations.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\libhnsw.pdb”中寻找);正在链接对象,如同没有调试信息一样
ret.lib(libmatmul_topk.obj) : warning LNK4099: 未找到 PDB“matmul_topk.pdb”(使用“ret.lib(libmatmul_topk.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\matmul_topk.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(video_motion_pipe.obj) : warning LNK4099: 未找到 PDB“libvideopipe.pdb”(使用“libvideopipe.lib(video_motion_pipe.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\libvideopipe.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(libio3_lat3d_c3d.obj) : warning LNK4099: 未找到 PDB“io3_lat3d_c3d.pdb”(使用“libvideopipe.lib(libio3_lat3d_c3d.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\io3_lat3d_c3d.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(libio3_lat3d_backbone.obj) : warning LNK4099: 未找到 PDB“io3_lat3d_backbone.pdb”(使用“libvideopipe.lib(libio3_lat3d_backbone.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\io3_lat3d_backbone.pdb”中寻找);正在链接对象,如同没有调试信息一样
libvideopipe.lib(utils.obj) : warning LNK4099: 未找到 PDB“libvideopipe.pdb”(使用“libvideopipe.lib(utils.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\libvideopipe.pdb”中寻找);正在链接对象,如同没有调试信息一样
libretri.lib(libretri.obj) : warning LNK4099: 未找到 PDB“retri.pdb”(使用“libretri.lib(libretri.obj)”或在“C:\Users\1\Desktop\fresh-plug-ins\bin\x86\retri.pdb”中寻找);正在链接对象,如同没有调试信息一样
wmai-dll-x86.vcxproj -> C:\Users\1\Desktop\fresh-plug-ins\bin\x86\WmAceKG-x86.dll
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\CHARACTERCONVERSION.CPP
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\CHARACTERCONVERSION.CPP
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\CHARACTERCONVERSION.CPP|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\COMMONTOOLS.CPP|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\CPPSQLITE3.CPP|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\DLLMAIN.CPP|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\WMACEKG-X86.CPP
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\CHARACTERCONVERSION.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\COMMONTOOLS.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\CPPSQLITE3.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\DLLMAIN.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\WMACEKG-X86.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\WMAI-DLL-X86.RES
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\CHARACTERCONVERSION.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\COMMONTOOLS.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\CPPSQLITE3.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\DLLMAIN.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\WMACEKG-X86.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\WMAI-DLL-X86.RES
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\CHARACTERCONVERSION.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\COMMONTOOLS.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\CPPSQLITE3.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\DLLMAIN.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\WMACEKG-X86.OBJ|C:\USERS\1\DESKTOP\FRESH-PLUG-INS\RELEASE\X86\WMAI-DLL-X86.RES
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\WMAI-DLL-X86.RC
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\WMAI-DLL-X86.RC
......
B^C:\USERS\1\DESKTOP\FRESH-PLUG-INS\WMAI-DLL-X86.RC
......
PlatformToolSet=v142:VCToolArchitecture=Native64Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:
Release|Win32|C:\Users\zhxx\Desktop\work\fresh-plug-ins\|
Release|Win32|C:\Users\1\Desktop\fresh-plug-ins\|
B^C:\Users\1\Desktop\fresh-plug-ins\wmai-dll-x86.vcxproj
......
......@@ -73,6 +73,9 @@
unordered_map<string, int>reassion;
string realProductCodes[10];
//空盘图向量
float feature_empty[FEATURE_COUNT];
//视频流存图
int rest_count;
int rest_in = 0;
......@@ -92,7 +95,7 @@ struct DETECT_RESULT
{
char productCodes[100];
char sessionId[100];
bool state;
int state;
};
struct FOOD_PARAM_DATA
......@@ -324,6 +327,10 @@ float average_cost()
}
float ret = solve_cost[0];
solve_cost.erase(solve_cost.begin());
if (ret > 3000)
{
ret = 3000;
}
if (ret < 67)
{
ret = 67;
......@@ -891,6 +898,13 @@ int WMAI_API Init(char* path) {
cameraNum = d["cameraNum"].GetInt();
fclose(fp);
}
char* json_ten = new char[MAX_PATH];
string ascll_ten_file = string(path) + "\\" + "tenant.json";
string utf_8_ten_file = ASCII2UTF_8(ascll_ten_file);
std::strcpy(json_ten, utf_8_ten_file.c_str());
json_tenant_path = json_ten;
FILE* fp2 = fopen(json_tenant_path, "rb"); // 非 Windows 平台使用 "r"
if (fp2) {
char readBuffer2[65536];
......@@ -1251,7 +1265,7 @@ int detect_squeezenet(const cv::Mat& bgr, std::vector<float>& cls_scores, float*
int e_time = clock();
if (hr != 0)
{
logger->info("元芒图形加速库推理失败!error code:{}\n", hr);
logger->info("元芒图形加速库推理失败!error code:{0:x}\n", hr);
return -2;
}
logger->info("元芒图形加速库耗时:{}ms\n", e_time - s_time);
......@@ -1315,10 +1329,10 @@ int compare_feature_faiss(float* rhs, string* code, int& biggerNinety) {
}
// ============ 搜索 ===================
reassion.clear();
double startTime1 = clock();//1计时开始 logger->info("{}",__LINE__);
double startTime1 = clock();//1计时开始
//logger->info("detect feature:{}", rhs);
///
//char rhs_data[FEATURE_COUNT * 10] = { };
/* for (int i = 0; i < FEATURE_COUNT; ++i)
{
......@@ -1666,47 +1680,48 @@ void _stringCpy(string* des,string* rec,int len) {
}
// 主动识别接口
int MatDetect(Mat& imageFrame, char* productcodes, char* sessionId) {
int MatDetect(char* productcodes, char* sessionId) {
double all_start_time = clock();//1计时开始
if (!authed) {
authed = authorize();
if (!authed) {
cout << "验证失败" << endl;
return -1;
logger->info("验证失败");
return -2001;
};
}
if (!x && !y && !width && !height) {
logger->info("没有设置摄像头剪辑坐标");
return -2009;
}
int thread = 4;
int use_gpu = 0;
#if NCNN_VULKAN
// ncnn::create_gpu_instance();
#endif // NCNN_VULKAN
cv::Mat m = imageFrame.clone();
char rawPath[128];
char cropPath[128];
cv::Mat m = getScaleBitmap(rawPath, cropPath, false);
if (m.empty())
{
logger->info("cv::imread failed\n");
return -1;
return -2002;
}
int biggerNinety = 0;
// 拷贝图片地址
//strncpy(image, cropPath, 128);
string productcode[10];
std::vector<float> cls_scores;
float rhs[FEATURE_COUNT];
double start_time = ncnn::get_current_time();
detect_squeezenet(m, cls_scores, rhs);
std::thread t(compare_feature_faiss, rhs, productcode, ref(biggerNinety));
t.join();
int ret = detect_squeezenet(m, cls_scores, rhs);
double elasped = ncnn::get_current_time() - start_time;
logger->info("category elapsed {}ms\n", elasped);
string newSessionId = get_session_id().c_str();
std::strcpy(sessionId, newSessionId.c_str());
string imagePath = "WMPhoto\\" + newSessionId + ".jpg";
std::thread t3(saveImg, string(imagePath), m); //将Mat数据写入文件
t3.detach();
//param_in.detect_image_path = imagePath;
compare_feature_faiss(rhs, productcode, ref(biggerNinety));
double save_record_start_time = clock();//1计时开始
string newSessionId = get_session_id();
std::strcpy(sessionId, newSessionId.c_str());
// 组装返回的商品代码
char codes[10 * 10] = { };
for (int i = 0; i < 10; ++i)
......@@ -1718,6 +1733,11 @@ int MatDetect(Mat& imageFrame, char* productcodes, char* sessionId) {
}
logger->info("productcodes:{}", codes);
std::strcpy(productcodes, codes);
string product_codes = productcodes;
char* realIds = const_cast<char*>(product_codes.c_str());
splitString(realIds, realProductCodes);
// 将图片向量进行逗号组装
char featureValue[FEATURE_COUNT * 10] = { };
for (int i = 0; i < FEATURE_COUNT; ++i)
......@@ -1734,10 +1754,28 @@ int MatDetect(Mat& imageFrame, char* productcodes, char* sessionId) {
sprintf(productIds + strlen(productIds), "%s,", productcode[i].c_str());
}
save_record(newSessionId, 0, 0, elasped, imagePath, string(featureValue), string(productIds), string(codes));
////判断是否识别到了空盘
//float sim = calculSimilar(rhs, feature_empty, FEATURE_COUNT);
//char rhs_data[FEATURE_COUNT * 10] = { };
//for (int i = 0; i < FEATURE_COUNT; ++i)
//{
// sprintf(rhs_data + strlen(rhs_data), "%f,", feature_empty[i]);
//}
//logger->info("feature_empty feature:{}", rhs_data);
//logger->info("相似度为 sim is{}", sim);
//if (sim >= 0.95)
//{
// result.state = 2;
// memset(productIds, '\0', sizeof(productIds));
//}
//logger->info("result.state is {}", result.state);
save_record(newSessionId, 0, 0, elasped, string(cropPath), string(featureValue), string(productIds), string(codes));
double save_record_end_time = clock();//1计时开始
logger->info("save record elapsed {}ms\n", save_record_end_time - save_record_start_time);
double all_end_time = clock();//1计时开始
logger->info("all time elapsed {}ms\n", all_start_time - all_end_time);
return 0;
}
......@@ -1920,6 +1958,7 @@ int doSnacksAutoDetect(char* productcodes, char* sessionId, char* image) {
sprintf(productIds + strlen(productIds), "%s,", productcode[i].c_str());
}
save_record(newSessionId, 0, 0, elasped, string(cropPath), string(featureValue), string(productIds), string(codes));
double save_record_end_time = clock();//1计时开始
......@@ -2440,8 +2479,9 @@ int doSnacksSetFeedBack(const char* code, char* sessionId, bool hit, char* produ
string response;
char uploadUrl[200];
sprintf(uploadUrl, upload_file_url, dev.c_str(), tenantStr.c_str());
logger->info("upload url is {},imagePath is {}", uploadUrl, imagePath.c_str());
logger->info("upload url is {},imagePath is {}", uploadUrl, (tool_get_dll_path()+imagePath).c_str());
int resultCode = CommonTools::upload_file(uploadUrl, imagePath.c_str(), response);
logger->info("code:{},response:{}", resultCode, response);
if (resultCode != 0) {
connectNet = false;
logger->info("设备未联网不再上传");
......@@ -2610,8 +2650,8 @@ int WMAI_API InitPos(char* tenant, char* posCode, char* snNo) {
}
}
// 注册pos机
int WMAI_API UnBindPos(char* tenant, char* snNo) {
// 解绑pos机
int WMAI_API UnbindPos(char* tenant, char* snNo) {
int checkTenantCode = checkTenant(tenant);
if (checkTenantCode != 0) {
return checkTenantCode;
......@@ -3196,6 +3236,7 @@ int WMAI_API Close() {
int FoodInitParam(FOOD_PARAM_DATA* param_in)
{
_mkdir("data");
// step1:先配置下数据源
......@@ -3216,6 +3257,24 @@ int FoodInitParam(FOOD_PARAM_DATA* param_in)
//step4.裁剪下当前帧照片,保存当前图片
param_in->back =cv::imread(param_in->back_mat_path);
////获取空盘图向量
//RETRI_INPUT empty_img;
//empty_img.img = param_in->back.clone();
//RETRI_OUTPUT clsretri_output;
//int hr = RETRI_Process(empty_img, &clsretri_output, handle);
//if (hr != 0)
//{
// logger->info("元芒图形加速库推理失败!error code:{0:x}\n", hr);
// return -2008;
//}
//for (int i = 0; i < FEATURE_COUNT; i++)
//{
// feature_empty[i] = clsretri_output.feat[i];
//}
if (param_in->back.empty()) {
param_in->back = frame_pipe.clone();
if (param_in->back.empty()) {
......@@ -3331,20 +3390,21 @@ DWORD WINAPI FoodRealtimeCaptureImage(LPVOID params)
void trace_detect_process()
{
result.state = true;
result.state = 1;
if (video_detect)
{
char rawPath[128];
char cropPath[128];
Sleep(150);
cv::Mat m = getScaleBitmap(rawPath, cropPath, false);
if (m.empty())//获取图片失败编写日志
{
logger->info("cv::imread failed\n");
return;
}
int ret = MatDetect(m, result.productCodes, result.sessionId);
//cv::Mat m = getScaleBitmap(rawPath, cropPath, false);
//if (m.empty())//获取图片失败编写日志
//{
// logger->info("cv::imread failed\n");
// return;
//}
int ret = MatDetect(result.productCodes, result.sessionId);
if (ret != 0)
{
logger->info("Detect error:{}", ret);
......@@ -3353,7 +3413,7 @@ void trace_detect_process()
}
else
{
std::strcpy(result.productCodes,"");
std::strcpy(result.productCodes, "");
std::strcpy(result.sessionId, "");
}
if (param_in.result_queue.size()< param_in.queue_max)
......@@ -3513,13 +3573,13 @@ void video_trace_result_callback(const char* data, int len, void* user)
{
thread t(trace_judge_process);
t.detach();
//thread t_(save_in_image);
//t_.detach();
//logger->info("没有进行存图!");
/*thread t_(save_in_image);
t_.detach();
logger->info("没有进行存图!");*/
if (param_in.result_queue.size() < param_in.queue_max)
{
DETECT_RESULT tem = result;
tem.state = true;
tem.state = 1;
param_in.result_queue.push(tem);
}
}
......@@ -3535,7 +3595,7 @@ void video_trace_result_callback(const char* data, int len, void* user)
if (param_in.result_queue.size() < param_in.queue_max)
{
DETECT_RESULT tem = result;
tem.state = false;
tem.state = 0;
param_in.result_queue.push(tem);
}
}
......@@ -3602,6 +3662,7 @@ DWORD WINAPI FoodDetectTrace(LPVOID params)
cv::waitKey(1);
}
// step5:开始Trace;
//float _start = clock();
int rt = param_in->mvp->FeedFrame(video_input);
......@@ -3625,6 +3686,7 @@ void videoPipeDetect()
{
logger->info("videopipe init start");
FoodInitParam(&param_in);
// step1: 开线程测试
......@@ -3633,6 +3695,9 @@ void videoPipeDetect()
hThread[0] = CreateThread(NULL, 0, FoodRealtimeCaptureImage, &param_in, 0, NULL);
hThread[1] = CreateThread(NULL, 0, FoodDetectTrace, &param_in, 0, NULL);
param_in.hMutex = CreateMutex(NULL, FALSE, (LPCWSTR)"screen");
bool getthread = false;
// step2: Wait until all threads have terminated.
WaitForMultipleObjects(MAX_THREADS, hThread, TRUE, INFINITE);
for (int i = 0; i < MAX_THREADS; i++)
......@@ -3647,7 +3712,7 @@ void videoPipeDetect()
}
//识别函数主控
int WMAI_API VideoPipeDetect() {
int WMAI_API VideopipeDetect() {
thread t(videoPipeDetect);
t.detach();
return 0;
......@@ -3752,6 +3817,23 @@ int WMAI_API ChangeBackPicture()
param_in.has_roi = true;
cv::Mat imgRoi = img(param_in.roi);
////更新空盘图的向量
//RETRI_INPUT empty_img;
//empty_img.img = imgRoi.clone();
//RETRI_OUTPUT clsretri_output;
//int hr = RETRI_Process(empty_img, &clsretri_output, handle);
//if (hr != 0)
//{
// logger->info("元芒图形加速库推理失败!error code:{0:x}\n", hr);
// return -2008;
//}
//for (int i = 0; i < FEATURE_COUNT; i++)
//{
// feature_empty[i] = clsretri_output.feat[i];
//}
char pathName[128] = {};
sprintf(pathName, "%s", param_in.back_mat_path.c_str());
cv::imwrite(pathName, imgRoi);
......@@ -3904,19 +3986,23 @@ bool WMAI_API judgeScanTheCode()
return ret;
}
bool WMAI_API getVideopipeInit()
//bool WMAI_API getVideopipeInit()
//{
// return g_video_init;
//}
bool WMAI_API getInitResults()
{
return g_video_init;
}
bool WMAI_API ReturnCameraState()
bool WMAI_API returnCameraState()
{
return cap.isOpened();
}
//纠错
int WMAI_API FreshChangeError(const char* code)
int WMAI_API freshChangeError(const char* code)
{
......@@ -3989,6 +4075,10 @@ int WMAI_API FreshChangeError(const char* code)
CppSQLite3Buffer deleted_sql;
deleted_sql.format("update feature_code set deleted = 1, update_time = datetime('now','localtime') where id = %d", number);
db.execDML(deleted_sql);
//将删除的数据加入record_count表中
CppSQLite3Buffer insertrecord;
insertrecord.format("insert into record_count(count) values (%d)", number);
db.execDML(insertrecord);
idx->Removesample(f.second);
q.finalize();
}
......@@ -4109,7 +4199,7 @@ int WMAI_API SelectByName(char* name , char* code, char* image)
}
int WMAI_API SetVideoDetect(int ch)
int WMAI_API setVideoDetect(int ch)
{
video_detect = ch == 0 ? false : true;
return 0;
......
......@@ -171,7 +171,7 @@ extern "C" {
/// 解绑pos机
/// </summary>
/// <returns>0:正常,非0:异常</returns>
extern WMAI_EXPORT int WMAI_API UnBindPos(char* tenant, char* snNo);
extern WMAI_EXPORT int WMAI_API UnbindPos(char* tenant, char* snNo);
/// <summary>
/// 设置开启摄像头序号
......@@ -246,7 +246,7 @@ extern "C" {
/// 视频流识别
/// </summary>
/// <returns>0:正常,非0:异常</returns>
extern WMAI_EXPORT int WMAI_API VideoPipeDetect();
extern WMAI_EXPORT int WMAI_API VideopipeDetect();
/// <summary>
/// 改变对比底图
......@@ -279,13 +279,13 @@ extern "C" {
extern WMAI_EXPORT bool WMAI_API judgeScanTheCode();
extern WMAI_EXPORT bool WMAI_API getVideopipeInit();
extern WMAI_EXPORT bool WMAI_API getInitResults();
extern WMAI_EXPORT bool WMAI_API ReturnCameraState();
extern WMAI_EXPORT bool WMAI_API returnCameraState();
extern WMAI_EXPORT int WMAI_API FreshChangeError(const char* code);
extern WMAI_EXPORT int WMAI_API freshChangeError(const char* code);
extern WMAI_EXPORT int WMAI_API SetVideoDetect(int ch);
extern WMAI_EXPORT int WMAI_API setVideoDetect(int ch);
#ifdef __cplusplus
}
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
......@@ -17,9 +17,9 @@ EXPORTS
Close @12
Test50000 @13
WMrelease @15
UnBindPos @17
UnbindPos @17
ClearTrainedData @18
VideoPipeDetect @19
VideopipeDetect @19
ChangeBackPicture @20
GetQueueSize @21
SelectByName @22
......@@ -31,7 +31,7 @@ EXPORTS
inputPluToDetect @28
getDetectImage @29
judgeScanTheCode @30
getVideopipeInit @31
ReturnCameraState @32
FreshChangeError @33
SetVideoDetect @34
getInitResults @31
returnCameraState @32
freshChangeError @33
setVideoDetect @34
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment