Skip to main content

简介

图形处理插件的作用?

对于入门开发者来说,学习python OpenCv 等图形处理算法库的成本非常高.

因此,熟悉Opencv 等图形处理工具库的高级开发者,可以将某个图形处理难题领域的相关算法.

制作成 python算法,和html图形化 插件工具.供其他开发者使用.

虽然我们鼓励插件免费开放,但图形处理算法部分也是加密代码,插件开发者可以自定义使用约束.

什么是图形处理插件?

# 插件实现相关类
from ascript.android.screen.gp import GPStack,GPTask,Result

图形处理流程

在AS中,我们把一次图形处理定义为 GPStack 图形处理任务栈中可以存放很多子任务.

每个子任务都需继承 GPTask ,每个继承GPTask的类,都是一个图形处理插件

GPTask 被强制要求实现静态字段 name,ui_path, 成员方法 run ,run方法必须返回 Result 对象

# GPTask 接口类源码
class GPTask(ABC):
name = "插件名称"
ui_path = "插件UI地址"

@abstractmethod
def run(self, cv_image: np.ndarray, offset_x: int = 0, offset_y: int = 0, data=None) -> Result:
pass

插件如何被执行的?

图形处理流程

#代码实现上图
from ascript.android.screen.gp import GPStack,GPTask,Result

strack = GPStrack()
strack.add(插件1(...))
strack.add(插件2(...))
strack.add(插件3(...))
res = strack.run()
if res:
# res.image 最终处理完的图片
# res.offset_x 处理过程中相对原图的偏移量x
# res.offset_y 处理过程中相对原图的偏移量y
# res.data 最后一个插件返回的结果
print(res.data)