【发布时间】:2017-10-07 04:04:37
【问题描述】:
我正在使用允许用户上传图像的 Flask (Python) 运行服务器。 (最终图像将被发送到 S3 存储桶;目前,它们只是保存到磁盘。)但是,我想防止重复和相似的图像。
这意味着每次用户尝试上传图像时,我都必须搜索数据库(以类似于tineye 的方式)。如果存在类似的结果,应用程序将不会上传图像。这种类型的“反向图像搜索”是否可以仅使用 Python 图像库?是否有其他 Python 框架已用于完成类似任务?或者也许是亚马逊工具?
【问题讨论】:
-
复制很容易,您可以使用 md5 和存储和搜索,但“相似”要困难得多。
-
看起来你得到了一个非常有用的答案,在这里......但不要执着于“应用程序不会上传图像,”,因为 -- 在规模,并取决于您的动机 - 可能更适合继续并暂时允许上传,并在后台检测/处理任何重复。例如,如果新图像的质量高于您已有的图像怎么办?您可能不想减慢 99.999% 的合法上传速度,但这在很大程度上取决于您需要删除重复数据的原因。存储很便宜。
标签: python amazon-web-services opencv image-processing python-imaging-library