Gag*_*gan 10 mysql hamming-distance
我有一个表A,其中有一个列'template_phash'.我存储了400K图像生成的phash.
现在我拍摄一张随机图像并从该图像生成一个镜头.
现在我如何查询,以便我可以从表A获得汉明距离差小于阈值的记录,比如说20.
我在SQL中看到了二进制字符串的汉明距离,但无法弄明白.
我想我发现我需要制作一个功能来实现这个但是怎么做?
我的两个phash都在BigInt中,例如:7641692061273169067
请帮我制作这个功能,以便我可以查询
SELECT product_id, HAMMING_DISTANCE(phash1, phash2) as hd
FROM A
WHERE hd < 20 ORDER BY hd ASC;
Run Code Online (Sandbox Code Playgroud)
Gag*_*gan 23
我发现汉明距离只是两个哈希之间不同位的计数.首先xor两个哈希然后得到二进制的计数:
SELECT product_id, BIT_COUNT(phash1 ^ phash2) as hd from A ORDER BY hd ASC;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4965 次 |
| 最近记录: |