根据指定的图片集,输入一个图片,找到匹配的图片
类似 iqdb 和 saucenao 那种
图片集大约 12000 张
以前用过 magwyz/pastec ,但项目停止维护了
1
131 2022-03-13 16:55:24 +08:00 via Android
输入的图片是一样的吗?一样的话可以试试直接用 dHash
|
2
mercury233 OP @131 不一样,有可能是水印甚至截图甚至拍屏
|
3
imn1 2022-03-13 17:20:05 +08:00 1
看样子并非原图压缩这种,这就复杂了
imghash 几乎没什么用 建议 opencv matchTemplate ,在输入图片截取一个区域,避开水印,然后对图片集逐个尝试匹配,必要时做缩放,因为 matchTemplate 需要两图能匹配的区域尺寸是接近的 如果两张图在 1k*1k pixel 内,一对匹配一次耗时很短,超过 2K 就会变慢 其他算法耗时都会很长,亲测 如果追求准确率,不在乎时间,用 sift+第二种算法会很好 |
4
Tink 2022-03-13 18:14:09 +08:00 via Android
毕业设计用 matlab 做过根据边缘直方图和灰度直方图识别同种类图片,但是估计达不到要求
|
5
learningman 2022-03-13 18:24:09 +08:00 via Android 1
你一个拍屏把传统算法干掉一大半
|
6
mercury233 OP |
7
locoz 2022-03-13 19:52:00 +08:00 1
https://www.slidestalk.com/Milvus/qichacha?video
感觉跟你的需求比较类似? |
8
ldyisbest 2022-03-13 20:33:33 +08:00 1
|
9
3dwelcome 2022-03-13 22:45:37 +08:00
用我的 imghash 工具啊,把 12000 张图片直接拖进去,底层的算法是 DCT 。
http://tool2d.com#imagehash JS 估计速度有点慢,有用户需求我以后就改成 WASM 版本的。 |