diff --git a/docx/CHANGELOG.md b/docx/CHANGELOG.md index cb1a42a..1e8f0fb 100644 --- a/docx/CHANGELOG.md +++ b/docx/CHANGELOG.md @@ -1,4 +1,4 @@ -# [0.28](https://github.com/shelllet/winui/compare/main...dev) (2023-09-xx) +# [0.28](https://github.com/shelllet/winui/compare/main...dev) (2023-09-23) ### Changed: 1. 优化图像处理相关动作。 2. 更新相应的注册机制。 diff --git a/docx/_sidebar.md b/docx/_sidebar.md index ddabac9..a0fab14 100644 --- a/docx/_sidebar.md +++ b/docx/_sidebar.md @@ -79,10 +79,11 @@ - [调整尺寸](./actions/image/ResizeImage.md) - [中心裁切](./actions/image/CenterCropImage.md) - [边缘检测](./actions/image/ImageCanny.md) - - [阈值](./actions/image/ImageThreshold.md) + - [阈值操作](./actions/image/ImageThreshold.md) - [颜色筛选](./actions/image/ImageInRange.md) - [形态学操作](./actions/image/ImageMorphological.md) - [自适应阈值](./actions/image/AdaptiveThreshold.md) + - [平滑/模糊](./actions/image/ImageBlur.md) - [标记区域](./actions/image/ImageMarkROI.md) - [标记相对区域](./actions/image/ImageMarkRelativeROI.md) - 图像检测 diff --git a/docx/actions/image/ImageBlur.md b/docx/actions/image/ImageBlur.md index e0ec177..923b193 100644 --- a/docx/actions/image/ImageBlur.md +++ b/docx/actions/image/ImageBlur.md @@ -1,5 +1,11 @@ -# 模糊 -图像模糊 +# 平滑/模糊 +平滑和模糊是所有计算机视觉和图像处理中最重要的预处理步骤之一。通过在应用边缘检测或阈值处理等技术之前对图像进行平滑处理,我​​们能够减少高频内容的数量,例如噪声和边缘(即图像的“细节”)。 + +虽然这听起来可能违反直觉,但通过减少图像中的细节,我们可以更轻松地找到我们感兴趣的对象。 + +一般来说,建议从高斯模糊开始,并根据需要调整参数。虽然高斯模糊比简单的平均模糊稍慢(仅慢一小部分),但高斯模糊往往会给出更好的结果,尤其是在应用于自然图像时。 + +![action](./images/12.png ':size=90%') ## 子流程 > 不支持 @@ -7,13 +13,23 @@ ## 运行参数 -* Kernel: 内核大小,内核越大,图像看起来就越模糊。 +* 内核 +> 内核越大,图像看起来就越模糊。对于 *Bilateral*,忽略此参数。对于 *Gaussian*, 此值必须是大于 1 的奇数。 +* 直径 +> 此值定义像素邻域的直径。直径越大,模糊计算中包含的像素就越多。 该参数仅应用于 *Bilateral*。预设使用 5,数值越大运算的速度越慢。 -## 输出 +* 颜色标准差 +> 较大的值意味着在计算模糊时将考虑邻域中的更多颜色。 该参数仅应用于 *Bilateral*。 - +* 空间标准差 +> 较大的值意味着距离中心像素直径较远的像素将影响模糊计算。 该参数仅应用于 *Bilateral*。 +> +* 方法 +> 参考 [BlurOperation](./enums/BlurOperation.md) +## 输出 +> 过滤后的图像。 ## 脚本调用 diff --git a/docx/actions/image/ImageMarkROI.md b/docx/actions/image/ImageMarkROI.md index de0913f..a4e8db3 100644 --- a/docx/actions/image/ImageMarkROI.md +++ b/docx/actions/image/ImageMarkROI.md @@ -1,6 +1,6 @@ # 标记区域 -标记图片感兴趣的区域,比如在找图时,只从该区域查找图片,可以加快查图速度。 +标记图片感兴趣的区域,比如在找图时,只从该区域查找图片,可以加快查图速度。这个动作不改变图像尺寸。 ![action](./images/10.png ':size=90%') @@ -22,7 +22,7 @@ ## 输出 -> 经过区域过滤后的图像 +> 标记后的图像,图像大小保持不变。 ## 脚本调用 diff --git a/docx/actions/image/ImageMarkRelativeROI.md b/docx/actions/image/ImageMarkRelativeROI.md index d52be8e..e465226 100644 --- a/docx/actions/image/ImageMarkRelativeROI.md +++ b/docx/actions/image/ImageMarkRelativeROI.md @@ -2,7 +2,7 @@ 根据相对位置,标记图片感兴趣的区域,比如在找图时,只从该区域查找图片,可以加快查图速度。 -![action](./images/10.png ':size=90%') +![action](./images/11.png ':size=90%') ## 权限 > 无要求 @@ -15,21 +15,22 @@ * 图像 > 输入图像 * 相对位置 -> 坐标原点位置。根据偏移坐标和尺寸来设置一个感兴趣的区域矩形, 参考 [RelativePosition](./enums/RelativePosition.md),不同的位置,坐标轴方向不一样。参考下图 +> 坐标原点位置。参考 [RelativePosition](./enums/RelativePosition.md),不同的位置,坐标轴方向不一样。参考下图 -![xy](../window/images/14.png ':size=40%') +![xy](../window/images/xy.png ':size=40%') * 偏移 -> 偏移坐标, 参考 [Point](./types/Point.md), 即原点偏移量。 +> 原点偏移量(坐标系参考上图)。坐标轴(x, y)方向参考上面草图。如果选择 *Center*,原点对应图像的中心位置,*TopLeft* 对应图像的左上角,*TopRight* 对应图像的右上角,*BottomLeft* 对应图像的左下角,*BottomRight* 对应图像的右下角。 + * 尺寸 -> 标记区域图像的大小, 参考[Size](./types/Size.md)。 +> 标记区域图像的大小, 参考[Size](./types/Size.md)。如果相对位置选择 *中心位置*, 原点坐标为图像的中心坐标。其它情况,原点为图像的左上角坐标。 ## 输出 - - +> 标记后的图像,图像大小保持不变。 + ## 脚本调用 diff --git a/docx/actions/image/ImageThreshold.md b/docx/actions/image/ImageThreshold.md index 1cc615e..979595c 100644 --- a/docx/actions/image/ImageThreshold.md +++ b/docx/actions/image/ImageThreshold.md @@ -1,4 +1,4 @@ -# 阈值 +# 阈值操作 对图像进行阈值操作,可以将灰度图像转换为二值图像,是全局操作。该阈值操作是全局的,即图像中的所有像素都使用相同的阈值。 可用于多通道图像(如 *RGB*图像,操作后的图像仍然是 *RGB* 三通道图像),通常在使用该动作前,将图像转换成灰度图像(单通道图像)。 diff --git a/docx/actions/image/images/09.png b/docx/actions/image/images/09.png index 2456df1..2842927 100644 Binary files a/docx/actions/image/images/09.png and b/docx/actions/image/images/09.png differ diff --git a/docx/actions/image/images/12.png b/docx/actions/image/images/12.png new file mode 100644 index 0000000..fcbe8a2 Binary files /dev/null and b/docx/actions/image/images/12.png differ diff --git a/docx/actions/window/WindowPoint.md b/docx/actions/window/WindowPoint.md index 6b2bc9d..73940b2 100644 --- a/docx/actions/window/WindowPoint.md +++ b/docx/actions/window/WindowPoint.md @@ -17,10 +17,10 @@ * [relative](./enums/RelativePosition.md) > 相对位置,坐标轴 (X,Y) 方向根据不同的位置方向有所不同,参考下图。 - ![xy](./images/14.png ':size=40%') + ![xy](./images/xy.png ':size=40%') * [offset](./types/Point.md) - > 偏移坐标,以相对位置为坐标原点(坐标系参考上图),根据偏移坐标来计算最终坐标。 + > 原点偏移量(坐标系参考上图)。坐标轴(x, y)方向参考上面草图。 diff --git a/docx/actions/window/images/14.png b/docx/actions/window/images/14.png deleted file mode 100644 index bdf226e..0000000 Binary files a/docx/actions/window/images/14.png and /dev/null differ diff --git a/docx/actions/window/images/xy.png b/docx/actions/window/images/xy.png new file mode 100644 index 0000000..536d49f Binary files /dev/null and b/docx/actions/window/images/xy.png differ diff --git a/docx/enums/BlurOperation.md b/docx/enums/BlurOperation.md new file mode 100644 index 0000000..9b74258 --- /dev/null +++ b/docx/enums/BlurOperation.md @@ -0,0 +1,10 @@ +# BlurOperation + +* Simple +> 简单模糊(平均值),获取中心像素周围的像素区域,将所有这些像素平均在一起,然后用平均值替换中心像素。 +* Gaussian +> 加权高斯模糊,使用加权平均值,其中更接近中心像素的邻域像素对平均值贡献更多的 *权重*。高斯平滑用于去除近似服从高斯分布的噪声。与简单模糊相比,基于此权重,我们将能够保留图像中更多的边缘。使用此方法,图像不会那么模糊,但会更加 *自然模糊*。 +* Median +> 中值滤波,此方法在消除椒盐噪声时最为有效。这种类型的噪音正如它听起来的那样:想象一下拍一张照片,把它放在餐桌上,然后在上面撒上盐和胡椒粉。使用中值模糊方法,您可以从图像中去除盐和胡椒。 +* Bilateral +> 双边模糊,模糊方法的目的是减少图像中的噪声和细节。然而,作为一个副作用,我们往往会丢失图像的边缘。为了在保持边缘的同时减少噪音,我们可以使用双边模糊。这种方法的最大缺点是它比平均、高斯和中值模糊方法慢得多。 \ No newline at end of file