Skip to content

Commit

Permalink
Merge branch 'dev' of https://github.com/shelllet/winui into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
shelllet committed Sep 20, 2023
2 parents f6e68c0 + 7af7c41 commit bb06bd4
Show file tree
Hide file tree
Showing 51 changed files with 275 additions and 75 deletions.
7 changes: 6 additions & 1 deletion docx/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# [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. 更新相应的注册机制。

### 备注
1. 原购买注册版本的用户,需要更新至当前版本,重新注册。

## [0.27](https://github.com/shelllet/winui/compare/main...dev) (2023-09-02)
### Changed:
Expand Down
7 changes: 5 additions & 2 deletions docx/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
- 安装
- [直接安装](./intro/installation/installed_by_exe.md)
- [微软商店安装](./intro/installation/installed_by_msix.md)
- [安装问题](./intro/installation/questions.md)
- 流程
- [项目属性](./intro/workflow/property.md)
- [使用逻辑](./intro/workflow/logic.md)
Expand Down Expand Up @@ -76,12 +77,13 @@
- [颜色转换](./actions/image/CvtColor.md)
- [裁切图片](./actions/image/CropImage.md)
- [调整尺寸](./actions/image/ResizeImage.md)
- [裁切图片](./actions/image/CenterCropImage.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)
- 图像检测
Expand Down Expand Up @@ -271,4 +273,5 @@
- [WorkState](./enums/WorkState.md)
- [RelativePosition](./enums/RelativePosition.md)
- [MouseMessage](./enums/MouseMessage.md)
- [MorphologicalOperations](./enums/MorphologicalOperations.md)
- [Changelog](./CHANGELOG.md)
26 changes: 20 additions & 6 deletions docx/actions/image/AdaptiveThreshold.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,34 @@
# 自适应阈值
自适应阈值是针对较小的区域计算阈值,因此对于不同的区域会有不同的阈值。
自适应阈值是将灰度图像转换为二值图像。是局部阈值,是针对较小的区域计算阈值,因此对于不同的区域会有不同的阈值。

全局阈值并不是对所有图像都表现良好,特别是当图像在不同区域具有不同的光照条件时。在这种情况下,我们采用自适应阈值。

自适应阈值处理每个像素的阈值是根据其周围的小区域单独确定的。因此,我们针对图像的不同区域获得不同的阈值,因此该方法在具有不同光照的图像上表现良好。

通常在使用该动作前,将图像转换成灰度图像(单通道图像)。

![action](./images/09.png ':size=90%')

## 子流程
> 不支持

## 运行参数

* Image: 执行阈值操作的图像
* Value: 填充像素值,范围(0 -255)
* BlockSize: 确定邻域区域的大小,用来计算阈值
* Type:要应用的阈值类型[ThresholdTypes](./enums/ThresholdTypes.md)
* 图像
> 执行阈值操作的图像
*
> 填充像素值,范围(0 -255)
*
> 确定邻域区域的大小,用来计算阈值
* 常数
> 减去的一个常数。通常,它是正值,但也可能为零或负值。
* 类型
> 要应用的阈值类型, 参考[ThresholdTypes](./enums/ThresholdTypes.md)
## 输出

> [`Image`](./types/Image.md)
> 经过阈值操作之后的图像 [`Image`](./types/Image.md)


Expand Down
11 changes: 7 additions & 4 deletions docx/actions/image/CenterCropImage.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
# 裁切图片
从中心位置开始裁切图片。
# 中心裁切
从图像中心位置按照指定的大小,裁切图片。

![action](./images/04.png ':size=90%')

## 子流程
> 不支持

## 运行参数

* Image 源图像
* [Size](./types/Size.md): 截取图像大小
* 源图像

* 图像大小
> 参考 [Size](./types/Size.md)
## 输出

Expand Down
10 changes: 6 additions & 4 deletions docx/actions/image/CropImage.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# 裁切图片
该动作可以在一张图片上选择一块区域,进行裁切
该动作可以根据设置的裁切区域,从源图中获取一部分图像

![action](./images/01.png ':size=90%')
![action](./images/02.png ':size=90%')


## 子流程
> 不支持
## 运行参数

* Image: 源图像。
* [Roi](./types/Rect.md): 裁切的区域
* 源图像

* 裁切的区域
> 参考:[Rect](./types/Rect.md)
## 输出裁切的子图像

Expand Down
16 changes: 11 additions & 5 deletions docx/actions/image/CvtColor.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# 颜色转换
对图像进行颜色转换
对图像进行颜色转换,比如将彩色图转化为灰度图。转换为灰度图,可以提高图像算法的处理速度。

![CvtColor](./images/01.png ':size=90%')


## 子流程
> 不支持

## 运行参数

* Image: 源图像
* [Color](./enums/ColorConversionCodes.md):颜色转换类型

* 源图像

* 转换代码
> 可参考[ColorConversionCodes](./enums/ColorConversionCodes.md)
## 输出

Expand All @@ -23,4 +27,6 @@ import simple;

```

## 示例
## 资源

示例:https://github.com/shelllet/WinUi/blob/main/image/CvtColor.simple
26 changes: 21 additions & 5 deletions docx/actions/image/ImageBlur.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,35 @@
# 模糊
图像模糊
# 平滑/模糊
平滑和模糊是所有计算机视觉和图像处理中最重要的预处理步骤之一。通过在应用边缘检测或阈值处理等技术之前对图像进行平滑处理,我​​们能够减少高频内容的数量,例如噪声和边缘(即图像的“细节”)。

虽然这听起来可能违反直觉,但通过减少图像中的细节,我们可以更轻松地找到我们感兴趣的对象。

一般来说,建议从高斯模糊开始,并根据需要调整参数。虽然高斯模糊比简单的平均模糊稍慢(仅慢一小部分),但高斯模糊往往会给出更好的结果,尤其是在应用于自然图像时。

![action](./images/12.png ':size=90%')

## 子流程
> 不支持

## 运行参数

* Kernel: 内核大小,内核越大,图像看起来就越模糊。
* 内核
> 内核越大,图像看起来就越模糊。对于 *Bilateral*,忽略此参数。对于 *Gaussian*, 此值必须是大于 1 的奇数。
* 直径
> 此值定义像素邻域的直径。直径越大,模糊计算中包含的像素就越多。 该参数仅应用于 *Bilateral*。预设使用 5,数值越大运算的速度越慢。
## 输出
* 颜色标准差
> 较大的值意味着在计算模糊时将考虑邻域中的更多颜色。 该参数仅应用于 *Bilateral*

* 空间标准差
> 较大的值意味着距离中心像素直径较远的像素将影响模糊计算。 该参数仅应用于 *Bilateral*
>
* 方法
> 参考 [BlurOperation](./enums/BlurOperation.md)
## 输出
> 过滤后的图像。
## 脚本调用

Expand Down
10 changes: 7 additions & 3 deletions docx/actions/image/ImageCanny.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
# 边缘检测
边缘检测
边缘检测是将图像中的边缘提取出来,作为后续图像处理和应用的的一个重要环节。通常,我们所看到的图像都不是完美无缺的,而是包含许多噪声、干扰等,因此需要将这些噪声去除,只保留图像中的边缘信息。边缘检测的主要目的是提高图像的清晰度和对比度,从而更好地理解图像中的内容。

![CvtColor](./images/05.png ':size=90%')

## 子流程
> 不支持

## 运行参数

* Image:图像
* Thresold: 阈值,用來區分 *strong edge**weak edge*,范围是 0 ~ 255。
* 图像

* 阈值
> 用來區分 *strong edge**weak edge*,范围是 0 ~ 255。

## 输出
Expand Down
21 changes: 16 additions & 5 deletions docx/actions/image/ImageInRange.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
# 颜色筛选
指定一个色彩范围,抓取影像中符合色彩范围内的颜色,透过这个方式,就可以筛选出影像中的特定颜色物件。
指定一个色彩范围,保留图像中符合色彩范围内的颜色,透过这个方式,就可以筛选出图像中的特定颜色物件。

![action](./images/07.png ':size=90%')

## 子流程
> 不支持

## 运行参数

* Image:输入图像
* Lower:色彩范围最低数值
* Upper:色彩范围最高数值
* 图像
> 单通道图像,或者3通道 *RGB* 彩色图像,对于彩色图像通常将图像由 *RGB* 转换成 *HSV* 颜色空间,再进行颜色筛选。
* 最小值
> 色彩范围最低数值,低于该值的颜色值会被置为 *0*, 即会被去除。
* 最大值
> 色彩范围最高数值, 高于该值的颜色值会被置为 *0*,即会被去除。

## 输出
Expand All @@ -24,4 +30,9 @@ import simple;

```

## 示例
## 示例


!> 对于 *RGB* 颜色空间的图像,最小值中的 (*R* *G* *B*) 必须分别小于最大值中的 (*R* *G* *B*),

!> 对于 *HSV* 颜色空间的图像,最小值中的 (*H* *S* *V*) 必须分别小于最大值中的 (*H* *S* *V*),
13 changes: 8 additions & 5 deletions docx/actions/image/ImageMarkROI.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# 标记区域

标记图片感兴趣的区域,比如在找图时,只从该区域查找图片。
标记图片感兴趣的区域,比如在找图时,只从该区域查找图片,可以加快查图速度。这个动作不改变图像尺寸。

![action](./images/10.png ':size=90%')

## 权限
> 无要求
Expand All @@ -11,15 +13,16 @@

## 运行参数

* image:输入图像
* rect: 矩形区域
* 图像
> 待处理的图像
* 区域
> 需要操作的区域


## 输出



> 标记后的图像,图像大小保持不变。
## 脚本调用

Expand Down
25 changes: 18 additions & 7 deletions docx/actions/image/ImageMarkRelativeROI.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# 标记相对区域

根据相对位置,标记图片感兴趣的区域,比如在找图时,只从该区域查找图片。
根据相对位置,标记图片感兴趣的区域,比如在找图时,只从该区域查找图片,可以加快查图速度。

![action](./images/11.png ':size=90%')

## 权限
> 无要求
Expand All @@ -10,16 +12,25 @@
## 运行参数

* [image](./types/Image.md):输入图像
* [relative](./enums/RelativePosition.md):相对位置,即坐标原点位置。根据偏移坐标和尺寸来设置一个感兴趣的区域矩形
* [offset](./types/Point.md):偏移坐标,
* [size](./types/Size.md):尺寸
* 图像
> 输入图像
* 相对位置
> 坐标原点位置。参考 [RelativePosition](./enums/RelativePosition.md),不同的位置,坐标轴方向不一样。参考下图

## 输出
![xy](../window/images/xy.png ':size=40%')

* 偏移
> 原点偏移量(坐标系参考上图)。坐标轴(x, y)方向参考上面草图。如果选择 *Center*,原点对应图像的中心位置,*TopLeft* 对应图像的左上角,*TopRight* 对应图像的右上角,*BottomLeft* 对应图像的左下角,*BottomRight* 对应图像的右下角。

* 尺寸
> 标记区域图像的大小, 参考[Size](./types/Size.md)。如果相对位置选择 *中心位置*, 原点坐标为图像的中心坐标。其它情况,原点为图像的左上角坐标。

## 输出

> 标记后的图像,图像大小保持不变。

## 脚本调用

Expand Down
27 changes: 17 additions & 10 deletions docx/actions/image/ImageMorphological.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,34 @@
形态学操作是一组基于形状处理图像的操作。他们将结构化元素应用于输入图像并生成输出图像。


最基本的形态学操作有两种:侵蚀和膨胀
最基本的形态学操作有两种:侵蚀和膨胀

侵蚀作用:
1. 侵蚀作用:

* 侵蚀掉前景对象的边界
* 用于减少图像的特征。
* 侵蚀掉前景对象的边界
* 用于减少图像的特征。

膨胀的作用:
2. 膨胀的作用:

* 增加物体面积
* 用于强调特征
* 增加物体面积
* 用于强调特征


![action](./images/08.png ':size=90%')

## 子流程
> 不支持

## 运行参数

* Image:输入图像
* Kernel:卷积核大小
* Operation:操作, 腐蚀或者膨胀
* 图像
> 待处理图像
* 内核
> 卷积核大小。 可以通过预览,调整此参数为合适的值。
* 操作
> 腐蚀或者膨胀, 参考 [MorphologicalOperations](./enums/MorphologicalOperations.md)


Expand Down
Loading

0 comments on commit bb06bd4

Please sign in to comment.