gpt4 book ai didi

两个相位之间的mysql汉明距离

转载 作者:IT王子 更新时间:2023-10-29 00:31:01 26 4
gpt4 key购买 nike

我有一个表 A,其中有一列“template_phash”。我存储从 400K 图像生成的 phash。

现在我拍摄一张随机图像并从该图像生成一个 phash。

现在如何查询,以便从表 A 中获取汉明距离差小于阈值的记录,例如 20。

我看过Hamming distance on binary strings in SQL ,但想不通。

我想我发现我需要创建一个函数来实现这一点,但是如何实现呢?

我的两个 phash 都在 BigInt 中,例如:7641692061273169067

请帮我制作函数,以便我可以像这样查询

SELECT product_id, HAMMING_DISTANCE(phash1,  phash2) as hd 
FROM A
WHERE hd < 20 ORDER BY hd ASC;

最佳答案

我发现汉明距离只是两个哈希值之间不同位的计数。首先对两个哈希值进行异或运算,然后得到二进制哈希值的计数:

SELECT product_id, BIT_COUNT(phash1 ^ phash2) as hd from A ORDER BY hd ASC;

关于两个相位之间的mysql汉明距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21037578/

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