图像预处理
对图像/屏幕图像 进行预处理
预处理: 在识别图片,或检测图片之前 先对图片进行一些处理,让图像特 征更明确.
裁剪
获取区域范围截图
from ascript.android.screen.gp_tasks import Crop
Crop(left: int, top: int, right: int, bottom: int)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
left | int | 是 | 范围左上角顶点x |
top | int | 是 | 范围左上角顶点y |
right | int | 是 | 范围右下角顶点x |
bottom | int | 是 | 范围右下角顶点y |
- 示例
#截取 当前屏幕的[100,100,500,500]的范围
from ascript.android.screen.gp import GPStack
from ascript.android.screen.gp_tasks import Crop
from ascript.android.ui import ImageWindow
gp = GPStack()
gp.add(Crop(100,100,500,500))
res = gp.run()
# 展示处理后的图像
ImageWindow.show(res.image)
灰度图
RGB通道转换为单通道灰白图像
- 灰度图: 只有灰白颜色的图片.
from ascript.android.screen.gp_tasks import GrayImage
GrayImage()
-
参数 无
-
示例
# 将当前屏幕转换为灰度图
from ascript.android.screen.gp import GPStack
from ascript.android.screen.gp_tasks import Crop
from ascript.android.ui import ImageWindow
gp = GPStack()
gp.add(GrayImage())
res = gp.run()
# 展示处理后的图像
ImageWindow.show(res.image)
二值化
又称阈值处理,先灰度图,将超过阈值图像区域填黑,其余填白(可反转黑白)
from ascript.android.screen.gp_tasks import Threshold
Threshold(threshold: int, inv: bool = False)
- 参数
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
threshold | int | 是 | 阈值,超过阈值的至为黑色,小于阈值的至为白色, 黑白可反转 |
inv | bool | 否 | 是否黑白反转,默认不反转. |
- 示例
# 将当前屏幕二值化,阈值为150
from ascript.android.screen.gp import GPStack
from ascript.android.screen.gp_tasks import Threshold
from ascript.android.ui import ImageWindow
gp = GPStack()
gp.add(Threshold(150))
res = gp.run()
# 展示处理后的图像
ImageWindow.show(res.image)
# 将当前屏幕二值化,并黑白反转,阈值为150
from ascript.android.screen.gp import GPStack
from ascript.android.screen.gp_tasks import Threshold
from ascript.android.ui import ImageWindow
gp = GPStack()
gp.add(Threshold(150,True))
res = gp.run()
# 展示处理后的图像
ImageWindow.show(res.image)
腐蚀
消除图像中的边界或小细节,从而使物体在图像中显得更加清晰
from ascript.android.screen.gp_tasks import Erode
Erode(kernel_size: int = 5, iterations: int = 1)