100 lines
2.3 KiB
Markdown
100 lines
2.3 KiB
Markdown
# 相似图片搜索系统
|
||
|
||
这是一个基于百度AI开放平台的相似图片搜索API的封装系统,提供了图片入库、检索、删除和更新等功能,并配有简洁美观的Web界面。
|
||
|
||
## 功能特点
|
||
|
||
- **图片入库**:将图片添加到百度相似图片搜索库中,支持添加名称、ID和标签
|
||
- **图片检索**:上传图片搜索相似的图片,支持标签过滤
|
||
- **图库管理**:更新和删除图库中的图片信息
|
||
- **直观界面**:简洁美观的Web界面,操作便捷
|
||
|
||
## 安装与使用
|
||
|
||
### 环境要求
|
||
|
||
- Python 3.9+
|
||
- Conda
|
||
- Poetry
|
||
|
||
### 安装步骤
|
||
|
||
1. 克隆或下载本项目到本地
|
||
|
||
2. 使用Conda创建虚拟环境:
|
||
```bash
|
||
conda env create -f environment.yml
|
||
conda activate imgsearcher
|
||
```
|
||
|
||
3. 使用Poetry安装依赖:
|
||
```bash
|
||
poetry install
|
||
```
|
||
|
||
4. 配置API密钥:
|
||
在项目根目录创建`.env`文件,填入百度AI平台的API密钥:
|
||
```
|
||
BAIDU_API_KEY=你的API_KEY
|
||
BAIDU_SECRET_KEY=你的SECRET_KEY
|
||
```
|
||
|
||
5. 创建上传目录:
|
||
```bash
|
||
mkdir uploads
|
||
```
|
||
|
||
6. 运行应用:
|
||
```bash
|
||
poetry run python app.py
|
||
```
|
||
|
||
7. 在浏览器中访问:
|
||
```
|
||
http://localhost:5000
|
||
```
|
||
|
||
## 使用说明
|
||
|
||
### 图片入库
|
||
|
||
1. 在"图片入库"标签页中,选择要上传的图片
|
||
2. 填写图片名称和ID(用于后续识别)
|
||
3. 可选择添加标签(最多2个,用逗号分隔)
|
||
4. 点击"上传入库"按钮
|
||
|
||
### 图片搜索
|
||
|
||
1. 在"图片搜索"标签页中,选择要搜索的图片
|
||
2. 可选择添加标签过滤条件
|
||
3. 选择标签逻辑(AND或OR)
|
||
4. 点击"搜索"按钮
|
||
5. 查看搜索结果
|
||
|
||
### 图库管理
|
||
|
||
1. 先在"图片搜索"标签页进行搜索
|
||
2. 在搜索结果中,可以对图片进行编辑或删除操作
|
||
|
||
## API说明
|
||
|
||
本系统封装了百度相似图片搜索API的以下功能:
|
||
|
||
- 图片入库:`/upload` (POST)
|
||
- 图片检索:`/search` (POST)
|
||
- 图片删除:`/delete` (POST)
|
||
- 图片更新:`/update` (POST)
|
||
- 获取Token:`/api/token` (GET)
|
||
|
||
## 注意事项
|
||
|
||
- 上传的图片最短边至少50px,最长边最大4096px
|
||
- 支持JPG、PNG、BMP格式的图片
|
||
- 每个图片可以添加最多2个标签
|
||
- 检索接口不返回原图,只返回入库时填写的brief信息
|
||
- 图片删除可能会有延时生效(百度API特性)
|
||
|
||
## 许可证
|
||
|
||
MIT
|