1

我正在使用允許用戶上傳圖像的Flask(Python)運行服務器。 (最終圖像將被髮送到S3存儲桶;現在,它們只保存到磁盤。)但是,我想防止重複和類似的圖像。按內容比較一大組圖像

這意味着每次用戶嘗試上傳圖像時,都必須搜索數據庫(類似於tineye)。如果存在類似的結果,該應用程序將不會上傳圖像。這種類型的「反向圖像搜索」可能僅使用Python圖像庫?有沒有其他的Python框架已經被用來完成類似的任務?或者也許是亞馬遜工具?

+0

重複是很容易的,你可以存儲和搜索使用md5和,但「相似」更困難。 – jordanm

+0

看起來你有一個非常有用的答案,在這裏......但不要着迷於*「應用程序不會上傳圖像」,*因爲 - 在規模上,並取決於你的動機 - 它可能是更適合繼續並允許上傳,並檢測/處理背景中的任何重複。例如,如果新圖像質量高於您現有的圖像,該怎麼辦?您可能不希望減慢99.999%的合法上傳,但這在很大程度上取決於您需要重複數據刪除的原因。存儲便宜。 –

回答

4

使用圖像庫創建獨特圖像的指紋。如果新圖像進入檢查指紋並適當地作出決定。

對於指紋如果你想帶AI這裏, 查找出的自動編碼是指這個 https://realpython.com/blog/python/fingerprinting-images-for-near-duplicate-detection/

+0

創建指紋如何?對於「相似」圖像,指紋是否會相同,例如調整大小相同的圖像? – jordanm

+0

請參閱https://realpython.com/blog/python/fingerprinting-images-for-near-duplicate-detection/ – bigbounty