小编Dar*_*ara的帖子

比较存储在mysql数据库中的SIFT功能

我正在扩展用于分类图像的图像库,我想找到包含或包含在其他图像中的重复图像,变换图像和图像.
我已经测试了OpenCV的SIFT实现,它运行得很好,但对于多个图像来说速度相当慢.太快了我以为我可以提取功能并将它们保存在数据库中,因为很多其他与图像相关的元数据已经被保存在那里.

将新图像的功能与数据库中的功能进行比较的最快方法是什么?
通常比较是使用kd-trees,FLANN或我在SO上的另一个线程中找到的金字塔匹配内核来计算欧氏距离,但还没有看到太多.

由于我不知道有效地在数据库中保存和搜索kd树的方法,我目前只看到三个选项:
*让MySQL计算数据库中每个特征的欧氏距离,尽管我确定这将花费不合理的时间来拍摄多张照片.
*在开始时将整个数据集加载到内存中并构建kd-tree(s).这可能很快,但内存密集.此外,所有数据都需要从数据库传输.
*将生成的树保存到数据库中并加载所有树,这将是最快的方法,但也会产生大量流量,因为新图像必须重建kd树并将其发送到服务器.

我正在使用OpenCV的SIFT实现,但我并没有死定.如果有一个特征提取器更适合这个任务(并且大致同样强大),我很高兴,如果有人可以提出一个.

c++ database algorithm computer-vision sift

17
推荐指数
1
解决办法
5881
查看次数

Linq查询语法和扩展方法

我通常更喜欢扩展方法,因为他们发现它们更容易阅读,但在看到Erno对这个问题的答案后,我想知道最小查询看起来如何只使用扩展方法?

更一般地说,是否存在可以在一种形式而不是另一种形式中创建的查询,或者两种方法是否相同?

c# linq

4
推荐指数
2
解决办法
4100
查看次数

课程提供进度信息的方式有哪些

我有多个类在线程中执行冗长的任务,并希望它们输出某种进度,所以我可以将它显示到进度条或计数器.

我可以使用在接口中定义的事件或委托,但似乎每个实现我都需要编写完全相同的FireEvent代码来检查事件是否为null并提升它,如果不是的话.

使用抽象类似乎也很糟糕,因为这样的功能不属于最顶级的类,这意味着我必须再次在不同的地方实现它.

如何以最可重用的方式执行此操作,无需重复代码?

c#

4
推荐指数
1
解决办法
360
查看次数

在Windows中获取备用文件名

我在Windows上运行我的程序,它将枚举目录中的文件并将其传递给处理文件的其他库.虽然我的程序支持unicode,但库不支持,所以我必须将unicode文件路径和名称转换为ANSI.只要该文件名中没有unicode字符,它就可以正常工作.

我知道Windows中的每个文件和目录都可以通过它的8.3名称访问,但我不知道如何通过windows api获取该名称.

c++ windows filesystems unicode winapi

1
推荐指数
1
解决办法
1052
查看次数

标签 统计

c# ×2

c++ ×2

algorithm ×1

computer-vision ×1

database ×1

filesystems ×1

linq ×1

sift ×1

unicode ×1

winapi ×1

windows ×1