我希望存储指纹/图像为100万张图像,这样上传后,它将拍摄图像与数据库中其他匹配的图像有多相似。类似于http://www.tineye.com/和http://images.google.com/,但适用于我自己的个人网站。我不想使用图像的提交过程将图像提交到tineye。
应该保存哪些信息?
该如何保存?
有没有好的PHP库可以做我想要的?
我想只保留PHP,但我认为处理能力可能需要由应用程序外包,然后PHP才能处理输出。我运行的是Debian Linux。
对于存储,我打算只将信息存储在MySQL中,但我认为考虑到100万张图像,效率可能会很低。
发布于 2012-12-20 06:19:51
我决定使用这个PHP解决方案:
http://www.pureftpd.org/project/libpuzzle
尽管它有点过时,并且不能很好地处理裁剪后的图像,但它能够识别微小的编辑、颜色变化和一些大小。它还附带了示例PHP代码(尽管有buggy)
发布于 2012-12-18 00:36:19
我认为使用GD、ImageMagic和使用一系列API会更好。由于这只是你的网站建议,那么API的问题并不是真正重要的;API将是一个更大的应用程序;
示例
Uploaded Image
Image information submits to Database and Image is deleted from Server and Stored in the CDN
Image information to database
Size
Dimensions
Timestamp
Uploader
Type of Image
Image Category
Image Tags
Image Description然后,您可以运行处理任务来扫描图像中的大部分颜色。图像的形状。大多数带有文本的图像。什么文本。然后,您可以构建库,并使用这些Ids作为数字来匹配标签。这将是模式。您可以扫描相同的图像和匹配的模式。您可以做得更深入,但也可能与Google/IBM作对。
发布于 2012-12-18 00:34:11
这种分析是通过使用复杂的算法来完成的,比如
http://en.wikipedia.org/wiki/Scale-invariant_feature_transform
这个是受版权保护的,但也有源代码的实现,可以在网上找到。
https://stackoverflow.com/questions/13918057
复制相似问题