跳到主要内容

图像处理组件使用说明

本文档介绍算盘算法开发中“图像处理”组件的使用方式。下图显示了部分算盘提供的图像处理组件,后续将会增加更多。

Untitled-6ac31047-439c-4999-84e3-9c8b1e000baf.png

本模块的图像处理指的是传统机器视觉意义上的处理,而非深度学习图像处理,如果您想了解的是深度学习方面的算盘组件,可以参考我们的相关文档。

通过使用单个或组合多个本模块中的图像处理组件可以完成简单操作如颜色转换到、边缘检测,也可以使复杂的功能比如实例分割。

大多数算盘图像处理组件为单输入单输出组件。输入输出的数据为文件夹,文件夹内容为一张或多张图片文件,支持多种输入图片格式,比如png,jpg等。当成功运行完一个节点后,您可以在其右面板中查看输出的图片,如下图所示。

Untitled-688440d0-e445-4943-b476-104fbf451698.png

算盘图像处理组件输入输出图片类型可以分为三种,如下。

  • 二值:NumPy数组 shape (H, W),布尔类型数值。
  • 灰度:NumPy数组 shape (H, W),uint8类型数值。
  • 彩色RGB:NumPy数组 shape (H, W, 3),uint8类型数值。

图像处理模板-实例分割案例

下列我们演示如何使用算盘提供的图像处理组件完成一个裂缝实例分割的案例。Untitled.png 首先一张彩色图片通过“转灰度图”组件后会合并彩色RGB通道变成灰度图。

“阈值二值化”组件将灰度图阈值处理转化为二值图,输出的图片只有两个特殊值,0和255。此时图片中有较多的颗粒噪点,有些噪点在大裂缝外围,我们需要想办法去掉,而有些噪点在大裂缝内部,我们需要保留。

“扩张”操作将临近大裂缝的噪点和大裂缝主体连接,而外围的噪点还是孤立的。

下一步我们通过“去除小物体”操作将孤立的噪点去掉,只留下大裂缝所在的区域。

最后通过“去除背景”操作我们将白色区域的图片内容抠出就完成了大裂缝的实例分割任务。

自定义图片操作组件

有一个算盘图像处理组件和其他的不同,就是“自定义图片操作”组件,您可以通过自定义Python脚本方式完成自定义图片操作。
脚本中“in_data”变量为单张图片Numpy数组数据。输出的Numpy数组请赋值给变量"out_data"。
“输入图片类型”指定读取的图片文件后将图片数据预处理成为的类型。比如此配置您选择了“灰度”,加载的“in_data”变量将为一个shape为 (H, W)的灰度图NumPy数组,即使输入端子输入的为彩色RGB图片文件。

如下图中自定义代码可以完成图片边缘检测的功能,输出一张或多张代表图片边缘检测结果的黑白二值图片。Untitled-05126766-49c2-492d-a6bb-60adf886655f.png