由于物种识别考试题即为随机出现的与题库图中一样的图片,识别难度不大,故采用较为简单的感知哈希算法。
- 将图片缩小到32 * 32尺寸;
- 将缩小的图片转换成256阶灰度;
- 计算DCT,保留左上8 * 8,代表图片最低频率;
- 计算缩小DCT后所有像素点的平均值;
- 计算哈希值,大于平均值计为1,小于平均值计为0,得到64个信息位的信息指纹;
- 比对两张图片,计算汉明距离。
将图库中每张图都进行感知哈希算法的相似度比对,分别计算汉明距离,汉明距离最小的即为目标图片。
由于在题库中爬取的数据不够全,不保证所有题目都可以识别到
要先安装python3.x!!!
- 解压压缩包文件;注意不要直接运行供预览的main文件
- 截图题目中的物种图片,复制到pics_compare文件夹中,并复制好图片的根目录路径或绝对路径;
- 运行压缩包中的main.py,运行后输入复制好的截图文件的根目录路径或绝对路径,回车;
- 运行结果为打印的字典,键为汉明距离(越小越相似),值为图片对应物种名称。若出现两个或以上汉明距离都很小的情况则分别在pics_data中找到对应的图片进行人工比对
直接在pics_data文件夹中搜索
根据word文档搜索功能即可实现搜题