gpt4 book ai didi

python - 生成在 PostgreSQL 表索引中运行良好的自然主键值的图像哈希算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:11:13 25 4
gpt4 key购买 nike

我正在构建一组带有图像的协作数据存储,并且我开始实现一些简单/琐碎的基于内容的搜索和排序算法:SIFT、稀疏颜色直方图距离、基本 SVD 等。

我目前使用二进制数据的 sha1 散列作为 PostgreSQL 表中的索引。这些散列是“愚蠢的”——它们是通过将有问题的数据*直接提供给 Python 的 hashlib.sha1 模块来计算的,并存储在与 sha1 的 base64 表示形式完全一样长的可为空的 char 列中.

实现一个散列算法将是一种 Elixir ,该算法将产生适合索引 Postgres 表的散列,但也以某种方式描述了图像,à la phashhamming distance .虽然 phash 看起来是一个不错的候选者,但事实证明它需要使用专有的存储引擎和 API ...基于 Redis 的生态系统。

它不一定是最快的——对我来说更重要的是实现一个算法(或多个算法),它可以被破解并保持一定的说服力。

( * ) 这主要包括从我的图像中提取的未转换或轻微转换的收获——例如:JPEG/PNG/DNG 图像文件内容、ICC 配置文件数据结构、EXIF/IPTC 标签集的 JSON 转储等。

最佳答案

http://railsware.com/blog/2012/05/10/effective-similarity-search-in-postgresql/ 中描述了非常有趣的方法.

基本上图像被缩放到 15x15 像素,然后计算每个像素的强度(0.299 * 红色 + 0,587 * 绿色 + 0,114 * 蓝色)。这个包含 255 个值的数组存储在带有 Gin/Gist 索引的 PostgreSQL 表列中,用于快速搜索相似图像。

关于python - 生成在 PostgreSQL 表索引中运行良好的自然主键值的图像哈希算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6893867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com