计算机视觉-Flask框架-SQLite数据库-图像展示与筛选-开发示例
立即下载
资源介绍:
内容概要:
本资源包含了一个完整的示例项目,通过使用Flask框架和SQLite数据库,展示如何构建一个简单的图像展示与标签筛选的前后端应用。具体功能包括:在网页上显示图像,提供图像浏览功能,以及根据标签(位置偏差类别和场景)筛选图像的功能。
使用场景及目标:
- 机器学习项目:方便展示和筛选训练数据集。
- 数据标注项目:管理和浏览已标注的图像及其标签。
- 教学示例:作为Web开发和数据库管理课程的教学案例。
使用方法:
- 下载并解压资源文件。
- 按照提供的环境部署和运行步骤,设置Python环境并安装必要的库。
- 运行数据库设置脚本,初始化并填充示例数据。
- 启动Flask应用,并在浏览器中访问应用页面。
其他说明:
资源文件中包含完整的项目代码,包括数据库设置脚本、Flask应用脚本以及HTML模板文件。示例数据为静态图像和标签,可根据实际需求进行替换和扩展
from flask import Flask, jsonify, request, render_template
from flask_sqlalchemy import SQLAlchemy
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///images.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class Image(db.Model):
id = db.Column(db.Integer, primary_key=True)
image_path = db.Column(db.String(100), nullable=False)
position_deviation = db.Column(db.String(20), nullable=False)
scene = db.Column(db.String(20), nullable=False)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/api/images', methods=['GET'])
def get_images():
images = Image.query.all()
result = [
{
'id': img.id,
'image_path': img.image_path,
'position_deviation': img.position_deviation,
'scene': img.scene
}
for img in images
]
return jsonify(result)
@app.route('/api/images/filter', methods=['POST'])
def filter_images():
data = request.json
position_deviation = data.get('position_deviation')
scene = data.get('scene')
query = Image.query
if position_deviation:
query = query.filter_by(position_deviation=position_deviation)
if scene:
query = query.filter_by(scene=scene)
images = query.all()
result = [
{
'id': img.id,
'image_path': img.image_path,
'position_deviation': img.position_deviation,
'scene': img.scene
}
for img in images
]
return jsonify(result)
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)