这是我本科时候的一个练手项目,代码写的并不是很优雅,还请见谅

项目已经整理部分放到github上可以运行,链接 https://github.com/yejiongkai/IIP.git,有问题欢迎交流。

一、引言

基于PyQt的图像算法开发软件——如何让你开发效率翻倍中,展示了该软件基于截图功能获取输入源进行图像处理的使用流程。在本篇章,我将对软件的输入来源进行更加详细的介绍。并通过导入视频进行目标检测作为例子进行介绍。

二、输入来源

1. 单通道图像

我制作这个软件的目的是对单通道图像做图像增强,因此最早的输入接口就是单通道图像,用户可以通过 文件->新建->单通道图像选择需要处理的图像,软件会自动将输入图像转为灰度图。

2. 多通道图像

在大多数场景中,处理的图像还是以RGB三通道图像为主,因此我也添加了多通道图像的选项,通过 文件->新建->多通道图像即可导入需要处理的RGB图像

3. 视频

视频输入这个选项的起因是在该软件中添加了基于YOLOV5的目标检测后,那时候我的一个需求是对视频中的目标进行目标检测,但是我这个软件又没办法读取视频,正常做法当然是写个脚本将视频逐帧读取检测。但我怀着能不写代码就不写代码的态度,硬是给这个软件搞个了视频接口,可以直接对视频进行目标检测。同样,通过 文件->新建->视频即可导入需要处理的视频

4. 截屏

在前一篇章中已经展示了如何使用截屏功能获取我们想要的图像,在这里面我介绍一下为什么要做这么个功能。做这个功能的初心其实并不是作为输入源的获取,而是一个截图功能,可以方便用户将输入图像中需要的部分抠出来做处理,但是当没有输入源时,则默认以屏幕截图为裁剪对象,因此阴差阳错的实现了一个可以从浏览器中获取图像的功能。

三、导入视频进行目标检测

直接看视频,由于使用CPU运行,检测比较卡顿。

视频链接——如何导入视频进行目标检测