# Thumbnail-Search-for-Original-Images-Based-on-Discrete-Cosine-Transform
**Repository Path**: Makul/Thumbnail-Search-for-Original-Images-Based-on-Discrete-Cosine-Transform
## Basic Information
- **Project Name**: Thumbnail-Search-for-Original-Images-Based-on-Discrete-Cosine-Transform
- **Description**: 基于离散余弦变换的缩略图到原图搜索
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-04-25
- **Last Updated**: 2025-04-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: OpenCV, 缩略图, 离散余弦变换
## README
# Thumbnail-Search-for-Original-Images-Based-on-Discrete-Cosine-Transform
## 基于离散余弦变换的缩略图到原图搜索
### 使用技术:
采用离散余弦变换(DCT)构建图像特征指纹,结合高效相似度计算方法,实现大规模图像数据库的快速检索。
提取DCT变换结果8*8或16*16低频信息,使用汉明距离判断缩略图和原图低频信息差异定位原图。
### 实现功能:
1. 对测试原图检索正确率超98%;
2. 具有尺度、缩放、旋转鲁棒性,识别准确率高;
3. 单图识别速度于毫秒级完成检索。
### 备注
检测到新的原图数据库会生成该原图数据库的离散余弦变换低频信息二值化后的矩阵并保存(默认左上角16*16)低频信息
设置好原图数据库后使用readAndFind(缩略图路径)查找,如果缩略图和原图DCT低频二值化汉明距离小于K值,认为找到原图
阈值K可以通过类实例设定
### 示例
项目实例中使用了三种水果(苹果、橘子、香蕉),每种水果10张图片,每张图片之间存在相似特征,以验证程序的原图识别能力。
原图大小从720P到2k大小不等,均有分布。缩略图大小为64*64.
示例图片设置合适阈值K(20),能够识别到每个缩略图的原图,并正确的显示。