[一] 【开源】基于PyQt的图像算法开发软件——如何让你开发效率翻倍
系列文章
- [一] 【开源】基于PyQt的图像算法开发软件——如何让你开发效率翻倍
- [二] 【开源】基于PyQt的图像算法开发软件——输入来源[如何导入视频进行目标检测]
- [三] 【开源】基于PyQt的图像算法开发软件——步骤列表[低代码实现图像算法开发]
- [四] 基于PyQt的图像算法开发软件——算法库[如何导入去雾算法并调参完成去雾]
- [五] 【开源】基于PyQt的图像算法开发软件——已执行区和缓存区[图像工作者的“PS“工具]
- [六] 【开源】基于PyQt的图像算法开发软件——基于YOLOv5的目标检测[可交互的调整模型参数]
- [七]【开源】基于PyQt的图像算法开发软件——手动图像配准[通过可交互的四个点构建仿射矩阵]
项目已经整理部分放到github上可以运行,链接 https://github.com/yejiongkai/IIP.git,有问题欢迎交流。
不想在github上下载的,我也上传了压缩包到cdsn里,免费下载。
一、目的
曾经做过一个图像算法开发的项目,一开始就是通过代码调参运行查看结果,但是这样效率极低,尤其是涉及多个算法时,修改其中一个算法的参数,后面的算法参数可能都要变。
然后我就想着制作一个能像PS(但接口尽可能暴露给用户)和Halcon(但不需要进行任何程序编写) 的软件,如果能够将算法封装一个个可交互的单元(类似PS和Halcon),动动鼠标和键盘就能任意组合算法并调参,再通过一个运行按钮就可以对输入图像做处理,并将输出图像存储起来(类似PS的历史记录),可以随时查看,在加上大量人性化的UI交互,就能让你的开发效率翻倍。
经过断断续续的几年开发和完善,软件的功能逐渐增多,添加了目标检测,图像配准,设置伪彩等功能。这些功能之间的图像数据是共用的,所以你可以将你的输入图像经过算法处理,直接用于目标检测查看检测效果。
这一篇章主要介绍软件的基本功能使用, 如果觉得不错点个关注,后期我会进行整理并开源。
如果不想看图片介绍,提供几个演示视频。
软件基本用法
如何导入视频进行目标检测
通过图像增强提高目标检测精度
手动图像配准
二、界面展示
三、使用步骤
假设需求场景:需要从网页上获取一幅噪声图像,对其分别进行中值滤波,高斯滤波,双边滤波,查看不同滤波的效果,并在去噪后进行Gamma变换调整亮度,最后将滤波和Gamma组合成一个步骤。
1. 使用软件中的截图功能获取输入源
点击截图按钮,选择截取范围,回车将图像存储在缓存区,右键缓存区中需要处理的图像,选择“选为当前图像” ,即可对该图像进行处理。用户可以单击已执行区和缓存区的选项,会自动弹出图像。
2. 新建步骤,添加算法组合
在获得输入源后,可以开始在步骤列表添加算法组合,每一个步骤列表里可以包含任意多个算法,执行时会按从前往后顺序处理输入源。用户可以选择多个步骤对输入源进行处理。
流程: 添加步骤——选择算法及其参数——双击更改参数
3. 执行步骤,查看执行效果
有了输入源和算法组合,就可以对输入源进行处理。目前已经在步骤列表里添加了三个步骤,三个步骤分别包含中值滤波,高斯滤波和双边滤波。按住ctrl,选中步骤列表中的三个步骤,点击运行按钮,执行结果将放在缓存区。
4. 在滤波基础上添加Gamma变换
前面展示的是如何对多个相同功能的算法进行对比,接下来展示如何用已执行区进行算法开发。
5.调参方式
到这我们已经完成的滤波和Gamma算法的组合,但是我们希望输出的图像暗一点,就需要对算法组合进行调参,
流程也很简单,只需要双击需要修改的步骤
四、后续
到这,我们已经完成了目标,构建了算法组合并完成调参,也大致介绍了该软件的使用方法,对于部分细节就不在本章节进行详细叙述。软件也支持将算法组合导出成python程序供用户二次开发使用。如果各位观众对该软件有兴趣,我会开一个新的篇章详细介绍软件的每个功能。