项目实训课程 第十五周

  • 项目整合
  • 代码量及工作量总结
  • 项目总结

一、项目整合

各部分的功能完成后,由组员对功能进行整合并完善UI界面。之后对功能的修改也要调整对应的UI部分

def image_update(self):

    self.m_QImage = QImage(self.m_image[:], self.m_image.shape[1], self.m_image.shape[0], self.m_image.shape[1] * 3,
                           QImage.Format_RGB888)

    self.m_image_width = self.m_image.shape[1]
    self.m_image_height = self.m_image.shape[0]

    self.pixmap = QPixmap(self.m_QImage)

    self.lbl.setPixmap(self.pixmap)
    self.lbl.resize(self.m_image_width, self.m_image_height)
    self.lbl.setGeometry(self.image_center_x-self.m_image_width*0.5, self.image_center_y-self.m_image_height*0.5, self.m_image_width, self.m_image_height)

对于每个功能的结果,不通过新窗口而通过update函数更新在主界面上。

    instance.m_image=res
    instance.updata_image()

二、工作量及代码难度总结

  1. AI接口调用:
  • 功能:

    • 人像抠图
    • 无损放大
    • 图像去雾
    • 图像清晰度增强
    • 黑白图像上色
    • 图片风格化——绘画风格
  • 技术点:

    • 接口调用

      • request接口请求
      • 直接使用aip包中的函数,如AipBodyAnalysis
    • 图片格式转换

      • f = open(imgfile, ‘rb’) 二进制方式读取

      • base64.b64decode解码

      • 转换为opencv可用格式

        • res_array=np.frombuffer(res, np.uint8)
        • res=cv2.imdecode(res_array, cv2.COLOR_RGB2BGR)
  1. Opencv算法编写

    • 图像马赛克功能

      ——图像采样

    • 去除遮挡物、水印

      • 快速行进算法(cv2.INPAINT_TELEA)
      • 基于流体动力学的偏微分方程(cv2.INPAINT_NS)
    • HDR高动态范围处理

      • 利用曝光时间估计相机相应函数
      • 合成HDR图像后实现色调映射
    • 色彩均衡化

      -——自动色彩均衡化(Automatic Color Enhancement,ACE)算法

    • 颜色检测函数

      • 鼠标回调函数
      • 颜色格式转换cv2.cvtColor(np.uint8([[bgr]]), cv2.COLOR_BGR2YCrCb)[0][0]
      • 使用占位符显示数值 cv2.putText(placeholder, “BGR {}”.format(bgr), (20, 70), cv2.FONT_HERSHEY_COMPLEX, .9, (255, 255, 255), 1, cv2.LINE_AA)
    • 批量调整图片尺寸

      • 通过os.listdir和file_filter函数读取文件夹中的所有图片文件
    • 透视变换校正

      • 指定顶点构造透视变换矩阵
      • Canny边缘检测算法获取顶点构造透视变换矩阵
      • 傅里叶变换及Hough直线检测获取图片倾斜角度从而使用仿射变换进行旋转

三、项目总结

​ 我们团队在明确方向后,从确定项目选题,到配置环境、编写功能和UI界面、项目整合,分工明确,不仅实现了数媒专业所学的图像处理功能之后,还添加了较为实用的AI功能。既可以作为数媒专业的教学工具,也可以作为功能全面的图象处理软件发布。

​ 在项目进行过程中,我个人遇到了诸如环境三四天没有配成、功能实现困难等各种问题,但都在自己的学习和队友的帮助下一一实现了。在这次创新项目实训过程中,我不仅锻炼了自己的代码能力,更收获了项目合作的经验,了解了软件UI编写的主要框架。虽然不知道最终结果如何,但很荣幸能参与这样的一次项目实训。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值