图像检索服务器编写问题记录——特征库的存储问题
来源:互联网 发布:莫言获奖 知乎 编辑:程序博客网 时间:2024/04/29 08:17
【1】SIFT特征没有自己编写,使用了opencv的SIFT特征提取、匹配函数。
【2】centos6.8装opencv3.0有问题,系统更换成了ubuntu14.04.4。opencv3已将sift库去掉,需要自己在git上下载编译,但是编译出来错误很多,诸多不顺,最终换成了老版本。opencv2.4.9,系统ubuntu14.04.4,很顺利。
【3】opencv特征库的描述子提取出来是cv::Mat类型,对数据库完全不懂如何存储自定义类型,所以使用opencv自带的文件类将Mat写入XML中了。好在整个服务运行的过程中,只是对特征库中的数据进行逐个比对,所以将特征存储在数据库,XML的区别也只是一开始服务器开启时载入数据的速度快慢,并不影响数据查询速度。
【4】所有同类型工作线程都是提取待检测图片的特征描述子,并将该描述子与特征库中所有的描述子逐个比较。所以我把xml中的特征,在服务开启时,就全部载入进来了。做成了全局。
【5】特征库描述子们做成全局,该怎么弄?既不能在函数栈中分配(随着特征库的增加会不会爆栈?)也不想做成全局变量(全局静态区放这么大的数据量好吗?)。最后是使用全局的*const ptr=new FEA()。
const指针,这样指针指向不会发生改变了,可以放心的定义成全局了(大家都看的到,大家都改不了);
FEA(),只提供对特征描述子的值副本,这样特征库描述子大家都看的到,大家都改不了。
new,在堆中分配内存,不会爆栈,不用担心全局静态区放太多的东西。
0 0
- 图像检索服务器编写问题记录——特征库的存储问题
- 图像检索服务器编写问题记录——SIFT尺度不变特征变换匹配算法学习
- 图像检索服务器编写问题记录——epoll+多线程传输图片时的问题
- 图像检索服务器编写问题记录——加入信号安装后的问题
- 图像检索服务器编写问题记录——服务端的任务队列线程分配的反思
- 图像检索服务器编写问题记录——拒绝可恶的编译器优化
- 图像检索服务器编写问题记录——线程中信号的处理方式思考
- 图像检索服务器编写问题记录——关于任务队列的思考
- 图像检索服务器编写问题记录——日志系统问题记录
- 图像检索服务器编写问题记录——用socket传输图片
- 图像检索服务器编写问题记录——服务器端模型选择+epoll和非阻塞IO
- 图像检索服务器编写问题记录——日志定时写回
- 图像检索服务器编写问题记录——服务器端模型再思考
- 图像检索服务器编写问题记录——添加线程池
- 图像检索服务器编写问题记录——MSER最大稳定极值区域检测
- 图像检索服务器编写问题记录——TCP粘包了!!!
- 图像检索服务器编写问题记录——回忆历次版本更改
- 图像检索服务器编写问题记录——用单例模式确保log类、server类只返回一个实例
- Handlebars模板引擎
- windows 修改hosts 立即生效的方法
- jQuery学习篇(1)_jQuery 语法
- 红黑树-Red–black tree
- 创业日志(六)人间正道是沧桑
- 图像检索服务器编写问题记录——特征库的存储问题
- ISP 图像传感器camera原理
- 通过pip安装Django
- Day 14-03 OGNL&&异常处理
- 阿里巴巴Java开发手册- 编程规约-常量定义
- Windows7搭建iis站点
- css两端对齐
- Trie tree
- spring ioc