Scrum 冲刺 6

这个作业属于哪个课程 软件工程
这个作业要求在哪里 团队作业4——项目冲刺
这个作业的目标 记录昨日已完成工作,明确今日工作,总结项目进度

敏捷冲刺日志集合

项目冲刺集合贴

站立会议

会议照片

因每个人不单有软工项目,在线下时间上凑齐所有人较为困难,所以我们采用微信会议的方式进行。
image

会议内容

成员 昨日完成 今日计划 遇到的困难
戴子豪 编写博客 Scrum 冲刺 5 及 Scrum 冲刺集合贴、组织站立会议、绘制项目燃尽图。 编写博客 Scrum 冲刺 6 及 更新 Scrum 冲刺集合贴、组织站立会议、绘制项目燃尽图。 成员在时间上很难凑齐,讨论积极性欠缺。
朱俊荣 解决图像前端显示失真问题 。 post请求优化。 显示在前端页面的图像变形失真。
李铭伟 测试模块。 继续测试 测试流程的不连贯。
陈倚星 图片裁剪的代码完成,不过比较简单 解决图片读取问题。 图片读取有点问题。
卫宇琪 OCR的代码完成,环境搭建成功。 对部分单元进行测试,进行代码维护。 部分依赖项存在版本冲突。
张震 完成了对两个模块的单元测试。 总结问题。 环境配置以及单元测试完全覆盖。
甫尔达吾斯 代码测试。 测试。 不断出现漏洞,代码还需要测试。

项目燃尽图

image

签入记录

代码/文档签入记录

image

对应的 Issue 内容与链接

成员 Issue 内容与链接
戴子豪 团队博客
朱俊荣 整体结合
李铭伟 各功能完善
陈倚星 自由大小裁剪
卫宇琪 图片文字识别
张震 功能测试
甫尔达吾斯 证件照换底色

Code Review 编码规范文档状态

无变化

项目进度

部分模块代码

文字识别:

import argparse
import codecs
import logging
import os
import os.path as osp
import sys
from guiocr import __appname__
from guiocr.app import MainWindow
from guiocr.utils import newIcon
from PyQt5 import QtCore, QtGui, QtWidgets


def main():
    QtCore.QCoreApplication.setOrganizationDomain("casia")
    QtCore.QCoreApplication.setApplicationName(__appname__)
    app = QtWidgets.QApplication(sys.argv)
    app.setApplicationName(__appname__)
    # app.setWindowIcon(newIcon("icon"))
    win = MainWindow()
    # win = createWindow(win,'blue')

    win.show()
    win.raise_()
    sys.exit(app.exec_())

# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    main()

# See PyCharm help at https://www.jetbrains.com/help/pycharm/

图片调整大小的改动:

from PIL import Image

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

def Image_Resize(src_file, width, height,dst_file=None, quality=75):
    """
    param src_file: Source file path
    :param dst_file: Destination file path
    :param width: Output width
    :param height: Output height
    :param quality: JPEG quality from 0-100
    """
    if width <= 0 or height <= 0:
        raise ValueError('Width and Height must be positive numbers')
class Image_Resize:
    support_formats = ['png', 'jpg', 'jpeg']

    if not os.path.exists(src_file):
        raise FileNotFoundError
    def __init__(self, quality=75):
        self.quality = quality

    basename, ext = os.path.splitext(os.path.basename(src_file))
    dst_file = dst_file or f'{basename}_compressed{ext}'
    def resize(self, src_file: str, width: int, height: int, dst_file: str = None, mode='min') -> Image:
        if width <= 0 or height <= 0:
            raise ValueError('Width and Height must be positive numbers')

    logging.info(f'Resize {src_file} to {dst_file}')
        if not os.path.exists(src_file):
            raise FileNotFoundError

        filename, ext = os.path.splitext(os.path.basename(src_file))
        dst_file = dst_file or f'{filename}_compressed{ext}'
        if ext[1:] not in self.support_formats:
            raise ValueError(f'Unsupported format: {ext}')

        logger.debug('Opening Image %s', src_file)

    try:
        with Image.open(src_file) as img:
            origin_w, origin_h = img.size
            
            logging.info(f'Original size: {origin_w}*{origin_h}')
            ratio = min(width / origin_w, height / origin_h)

            logger.debug('Claculating resize ratio')
            ratio= self.get_ratio(origin_w,origin_h,width,height)
            new_size = (int(origin_w * ratio), int(origin_h * ratio))

            logger.debug('Resizing the img to %s',new_size)
            resized_img = img.resize(new_size)
            resized_img.save(dst_file,quality=quality)
    except Exception as e:
        logging.error(f'Failed to resized image:{e} ')
        raise e

            logger.debug('Saving resized img to %s',dst_file)
            resized_img.save(dst_file, quality=self.quality)

    def get_ratio(self,origin_w,origin_h,width,height,mode):
        return mode(width / origin_w, height / origin_h)

    def mul_resize(self):
        pass

if __name__ == '__main__':
    Image_Resize('computer_kuan_201632_18.jpg',1024,768)
    Image_Resize().resize('',1024,768)

部分运行结果

image
文字识别:
image
image

总结

成员 总结
戴子豪 成员交流积极性欠缺。
朱俊荣 总有意料之外的情况,要耐心应对。
李铭伟 还需要多多学习。
陈倚星 一种方法不行试试另一种。
卫宇琪 关关难过关关过。
张震 仔细检查,耐心完成每一步操作。
甫尔达吾斯 还需要继续完善。
posted @ 2023-11-23 13:00  noblogs  阅读(9)  评论(0编辑  收藏  举报