使用flask快速构建浏览器实现图片交互

目的

用python实现客户端和服务器端的部署,使得在客户端打开一个网页,读取服务器端的图片内容并显示在网页上。通过点击网页图片实现交互,并选中图片的文件名以txt文件的形式存储在服务器端。

Flask和Django的比较(ChatGPT说)

  • Flask是一个轻量级的Web框架,它非常简单灵活,并且提供了最基本的功能来构建Web应用程序。它适用于小型项目或对自由度有较高要求的开发者。Flask提供了基本的路由、模板渲染、表单处理等功能,你可以根据需要选择和集成其他库来完成更复杂的任务。它的学习曲线相对较低,更适合小型项目和快速原型开发。
  • Django则是一个全功能的Web框架,它提供了许多内置的功能和工具,使得开发过程更加快速和高效。Django拥有强大的ORM(对象关系映射)和数据库集成、认证授权系统、管理员界面等功能,使得开发者可以快速搭建复杂的Web应用程序。Django适合大型项目和需要快速开发的情况,它的学习曲线相对较陡,但一旦掌握,可以提高开发效率。

这里我们对复杂性没有太大要求,只实现基本交互功能就行,所以选择flask。

实现

  1. 在conda虚拟环境下安装flask
    conda create -n web_interface python=3.9
    conda activate web_interface
    pip install flask
    
  2. 在app.py定义路由,在templates/文件夹下创建index.html文件映射 网页前端。
  3. 启动python app.py
  4. 在客户端打开 http://127.0.0.1:5000/

展示效果

  • 交互界面 image.png|500
  • 单击一次代表选中做正反馈,右下角出现”+”;点击两次代表选中做负反馈,右下角出现”-“ image.png image.png image.png
  • 最后点击interact按钮,生成选中图片的txt文件,并自动切换到下一题。

    改进

  • 把图片换成缩略图,减少浏览器加载图片时间
    • [-] 上传官方缩略图,预计耗时超过100h
    • 使用PIL对图片进行压缩,将压缩图片存到本地。
  • 因为一共有30道题,添加自动切换到下一题的按钮。
    • 添加script函数,在按下按钮后修改app.py中的全局变量qid并刷新页面
  • 由于算法需要,需要加入正反馈和负反馈,对图片设计两种不同的选中状态。
    • 在css设计两种不同的类,在script函数中设置新变量读取图片变量,根据变量值进行条件判断,赋予对应属性。 7.15

This line appears after every note.

Notes mentioning this note


Here are all the notes in this garden, along with their links, visualized as a graph.

Conda导出python环境加快访问github新闻稿实验1:ros入门实验3:自动驾驶实战实验4:ros2智能移动机器人实验5:ros1移动机器人动态避障(基于强化学习)实验6:轨迹跟踪仿真1最终实验自动驾驶辅助python函数Obsidian发布的免费替代方案Obsidian库解析TestYour first seedClip 串讲Nips'17 attention is all you needSigir'22 cret cross Modal retrieval transformer...Arxiv 2306’unifying large language models and...Arxiv'21 how much can clip benefit vision And...⭐ ⭐ ⭐ ⭐ ⭐ arxiv 2311' llmsurveychinese⭐⭐⭐⭐eccv'22 slip:self Supervision meets language...⭐⭐⭐⭐⭐clip:learning transferable visual models from...⭐⭐⭐⭐⭐icml'22 blip bootstrapping language Image pre...Arxiv'23 challenges and applications of large...Prl'20 retrieving quantum information with active...SIGIR'06 Laplacian Optimal Design for Image...Survey'09active learningTKDE'16Relevance Feedback Algorithms Inspired By...Improving interpretable embeddings for ad Hoc...Access'17...Artif. intell. rev.‘23 a survey on ensemble...Fcs'20 a survey on ensemble learningTpmai'04 asymmetric bagging and random subspace...⭐⭐⭐⭐access'22 a survey of ensemble learning进化集成学习算法综述《黑客与画家》 为什么书呆子不受欢迎《黑客与画家》《黑客与画家》——黑客与画家黑客伦理Avs检索流程Avs项目管理Avs speaker proposalAvs paper思路整理Presentation 思路整理Stable Diffusion检索流程2023avs交互使用flask快速构建浏览器实现图片交互Trecvid avs 个人感受2022交互情况统计2024avs交互情况统计Llm api测试Agi 比赛Lean(vs code)Agic TrickLlm相关论文Rtx 4090 部署大模型 20240306构建样题数据集调查开源大模型的数学能力想法计划231128调研Github下载Python调用javaVbs2024比赛复盘复现系统talkseeDiffusion扩散模型调研2023 mindspore量子计算黑客马拉松全国大赛热身题2023 mindspore量子计算黑客马拉松初赛——量子组合优化赛道代码集成进化算法Python使用Vscode使用Github问题Linux华为手机安装google框架工具推荐科研问题笔记本电脑视频生成调研20241002更换内存条(16g换到32g)24考研总结Reflection 大学四年的回顾及年终总结《周处除三害》观后感《奥本海默》观后感李沐讲座考研计划牛奶2023 mindspore量子计算黑客马拉松初赛——量子组合优化赛道排序融合动手学习深度学习算法笔记论文阅读模板2023 07 062023 08 30算法知识生活Paper ReadingProjects