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

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

一、引言

[一] 基于PyQt的图像算法开发软件——如何让你开发效率翻倍中,展示了该软件基于截图功能获取输入源进行图像处理的使用流程。在本篇章,我将对软件的步骤列表进行更加详细的介绍,步骤列表的目的是 让开发者摆脱代码调参的不便,通过交互的方式让开发者按照自己的想法组合各个算法,同时将 算法接口完全暴露,用户可以导出后 二次开发。(注意:该软件的受众需要有一定的图像处理基础和编程能力(懂一点python就行))

二、步骤列表

1. 树状容器

之所以叫” 步骤列表“,是因为这个软件执行算法组合时是一步一步往后走的,同时一开始存储这些算法组合的容器是一个列表(QListWidget),就起了一个” 步骤列表“的名字。但是后面发现列表容器的局限性太大,就改用树状容器(QTreeWidget),实现二级目录。在一级目录里,用户可以添加任意多个算法,然后展开后就能在二级目录里看到每个算法的排列。

2. 相关操作

在树状容器基础上,该软件在 支持批量操作上实现了 插入,删除,复制,粘贴,拖拽,导出以及修改功能。

2.1 插入

用于在当前是选中步骤下方添加空的步骤

2.2 删除

用于删除当前选中步骤

2.3 复制、粘贴

可以将多个选中项进行复制,组合成新的算法组合,然后粘贴到多个步骤中

2.4 导出

提供一个简单的算法导出功能(python语言), 配合软件自带的算法库,可以通过运行代码实现相同效果,方便用户二次开发。


2.5 拖拽

当用户希望交换算法组合中的算法顺序,或者移动步骤的位置,软件提供了拖拽功能,除了以上功能,还支持从一级目录到二级目录的覆盖,二级目录到一级目录的粘贴功能。不是很好截图,用户可以自行在软件中体验,非常容易上手。

2.6 修改

以上操作可以满足用户搭建想要的算法组合,但是想要达到理想效果,还需要调整参数。软件提供非常便捷的方式为用户提供修改参数操作,只需要” 双击“选中的步骤。