我希望存储100万张图像的指纹/图像,这样在上传时它会拍摄图像与数据库中其他匹配项的相似程度。与http://www.tineye.com/和http://images.google.com/类似,但对于我自己的个人网站。我不想使用提交过程将图像提交给tineye。
应该保存哪些信息?
我该如何保存?
任何好的PHP库都能满足我的需求吗?
我想只保留PHP,但我认为处理能力可能需要由应用程序外包,然后PHP可以处理输出。我正在运行Debian Linux。
对于存储,我打算只存储MySQL中的信息,但我认为鉴于100万张图像可能效率低下。
答案 0 :(得分:1)
我认为使用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
然后,您可以通过cron处理任务来扫描图像上的大部分颜色。形象的形象。大多数带有文字的图像。什么文字然后,您可以使用这些ID作为数字构建库和匹配标记。这将是模式。你可以扫描相同的图像和匹配的模式..你可以更深入,但你可能会反对谷歌/ IBM ..
答案 1 :(得分:1)
我决定使用这个PHP解决方案:
http://www.pureftpd.org/project/libpuzzle
即使它有点过时并且不能完全使用裁剪图像,但它能够识别小编辑,颜色变化和一些调整大小。它还附带了示例PHP代码(尽管有错误)
答案 2 :(得分:0)
这种分析是通过使用像
这样的复杂算法完成的http://en.wikipedia.org/wiki/Scale-invariant_feature_transform
这个版权受版权保护,但网上有源代码实现。
答案 3 :(得分:0)