第三次迭代成果

在第二次迭代成果的基础上我们进行了第三次迭代,进一步增加完善了预想的功能。

前端部分:

由于第二次迭代前端部分已经完成了大部分,这次进行的是优化和收尾工作。

1.之前通过VUE框架axios来完成ajax请求,但是使用cdn不成功,所以实现的是静态界面。于是现在转向使用JS创建HTML元素来创建动态页面。通过后台PHP获取数据库数据显示界面。

2.对fit.html做了更新,完成了“用户自由搭配”界面。

3.实现了用Post向后台传输衣服ID,实现了智能搭配功能的前端部分。

后台:

这次迭代我们重心放在了之前未能完成的后台部分和智能化识别功能。

数据库部分:

总体数据库结构如下:

1.使用PDO继承类实现了与数据库的统一数据交互,对5个数据表的查询及增删改操作均集成在单独的php类中。

2.实现php传递JSON串数据进行界面显示

前端传入关键词,调用类函数进行数据查询,获取二维关联数组,进行必要的数据处理后,将其转化为JSON串并返回给前端。

3.重新整合了登陆注册的后端模块

将分开的文件(login.php, register.php)整合到一个用户权限认证文件中。

4.实现了与上传搭配页面的数据交互

从前端获取图片并存入指定位置,将存储地址、当前用户、当前(添加页面的前导专辑页面所属的)专辑id写进数据库。

5.实现上传功能的后台环节(单品+搭配)

6.实现PHP与python的数据交互,PHP传入文件图片文件路径,python返回识别衣服颜色。利用ecxe进行PHP与python的数据交互。

7.把上传的图图片去除背景后传入数据库。

智能识别功能:

利用python对服装图片进行抓取,识别颜色。

过滤掉白色的背景色 将图片中主要的颜色的rgb提取出来

通过rgb和颜色表算出最相近的颜色 利用python webcolor库 将rgb数值最接近的颜色得到

再根据python内置函数将得到的rgb转换为英文的颜色

通过百度翻译api将英文颜色转换成中文颜色。

实例:

图片输入:

得到 rgb:(113, 15, 33)

rgb匹配:maroon

百度翻译:褐红色

原文地址:https://www.cnblogs.com/whattowear/p/12075612.html

时间: 2024-11-07 12:44:40

第三次迭代成果的相关文章

Ultimate Chicken Horse GameProject第三次迭代成果文档

经过三次迭代我们实现了游戏的基本功能 下面是我们在第一次迭代中设定的验收验证标准(1为成功验收,0为验收失败) 测试功能 测试项 输入/操作 检验点 预期结果 验收情况 角色控制 跳跃高度 长按/短按跳跃键   跳跃高度随着按键时间长短  1 角色控制 攀墙 在垂直墙体边按住方向键   角色沿着墙体缓慢下滑  1 角色控制 攀墙跳 在攀墙状态下跳跃   角色向墙体反方向的斜上方跳跃  1 角色控制 加速  左shift   角色移动速度加快  1 界面选择 初始界面 点击左键   进入选择模式界

Ultimate Chicken Horse GameProject第二次迭代成果文档

基于上一次的迭代中的数据结构我们补充了UML图.用例图及状态图. 用例图:           选择游戏地图:玩家可以在本地游戏界面将角色移动到地图门口并按下E进入地图. 进行游戏用例: 选择并摆放道具: 每个玩家可以在对战开始时从道具库中选择一个道具摆放至游戏地图内. 控制角色:玩家可以通过键盘操作人物移动,包括左右走动,跑步, 跳跃,墙壁下滑,蹬墙跳. 角色死亡: 当玩家碰撞到造成伤害的陷阱或掉出地图边界时,角色死亡. 抵达终点: 当玩家碰撞到终点旗帜时, 角色胜利. 选择游戏模式用例: 本

[20160807][系统设计的三次迭代]

前言 最近在工作中遇到一些关于面向过程和面向对象程序设计方法以及系统设计方法的困惑,做了一些深入思考得出了三次迭代法进行系统设计.在此做下记录,来指导我今后的工作. 系统设计的首要目标是降低系统复杂度,以最小原型法快速迭代出清晰高效的系统.在面向过程程序设计中用到的的高内聚与低耦合的模块化设计思想,如何与面向对象程序设计中的抽象与封装想结合,利用各自的优点,避免缺点进行程序设计是一个问题.面向对象在抽象与封装中引入了大量的冗余使效率降低,但却简化了系统结构.面向过程在设计过程中由于使用指针提高了

第三次迭代目标

第三次迭代目标功能分配如下:订单界面的设计以及功能的实现.会员界面的设计以及功能的实现.功能的测试和整合 小组成员功能认领如下: 魏静.孙刘兰:订单界面的设计以及功能的实现 黄希.张梦霞:会员界面的设计以及功能的实现 张佳慧:功能的测试和整合 预估功能实现用时: 魏静.孙刘兰:订单界面的设计以及功能的实现:预估12h 黄希.张梦霞:会员界面的设计以及功能的实现:预估15h 张佳慧:功能的测试和整合:预估10h  

第三次迭代目标完成情况以及感想

第三次迭代目标完成情况如下: 首先是订单界面的设计如下: 主要XML代码是: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_heig

博弈论学习笔记(三)迭代剔除和中位选民定理

迭代剔除劣势策略 先找出劣势策略,剔除劣势策略,再继续审视这个博弈,找出哪些现在也成了劣势策略,然后剔除他们.如此反复进行,这个过程被称之为迭代剔除劣势策略.它揭示了以下过程的主旨:站在对方的立场上去换位思考,推测对手的行动策略,同时想想对手也会站在你的立场推测你的意图,这样反复进行.像之前的猜数游戏,最后结果就剔除到1了. 中位选民定理在政治学中的一个案例 假设有两个候选人,而这两个候选人为了选举必须确定自己的政治主张,这两个人就是参与者(players).策略就是:他们要从一系列政治主张中选

Python学习笔记(三)——迭代

知识点 迭代 迭代 什么是迭代呢?和递归又有什么区别呢? 根据维基百科和网上的资料: 迭代:迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果.每一次对过程的重复被称为一次“迭代”, 而每一次迭代得到的结果会被用来作为下一次迭代的初始值. 如求1+2+3+4+5的和: 递归呢?指在函数的定义中使用函数自身的方法.也就是函数不停的调用自己直到满足一定条件. 而用递归是怎样求1--5的和呢? 斐波那契数列的递归和迭代实现: 1 def fib(n): 2 if n>0: 3 if

java 测试:iterator foreach for 三种迭代方式哪种更快?

代码: public class main { public static void main(String[] p_args){ ArrayList<String> _l_string = new ArrayList<>(); for (int o_a = 0; o_a < 100000; o_a++) { _l_string.add(String.valueOf(o_a)); } c_public_countTime _countTime = new c_public_c

三种迭代是否可以删除

普通for循环,可以删除,但是索引要-- 迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常 增强for循环不能删除