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 Oct 8, 2023
2 parents cca5b1d + d76e4bd commit 1c75274
Show file tree
Hide file tree
Showing 28 changed files with 310 additions and 176 deletions.
10 changes: 9 additions & 1 deletion docx/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
# [0.28](https://github.com/shelllet/winui/compare/main...dev) (2023-09-23)
# [0.29](https://github.com/shelllet/winui/compare/main...dev) (2023-xx-xx)
### Changed:
1. 优化图像检测相关动作。
2. *鼠标监听* 支持监听鼠标按下。
3. 模板匹配,只能返回第一个匹配到的位置。
4. 增加 *颜色填充* 动作。
5. 增加 *形状查找* 动作,可以查找 *长方形**正方形**三角形*

## [0.28](https://github.com/shelllet/winui/compare/main...dev) (2023-09-23)
### Changed:
1. 优化图像处理相关动作。
2. 更新相应的注册机制。
Expand Down
15 changes: 8 additions & 7 deletions docx/_sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,18 +86,18 @@
- [平滑/模糊](./actions/image/ImageBlur.md)
- [标记区域](./actions/image/ImageMarkROI.md)
- [标记相对区域](./actions/image/ImageMarkRelativeROI.md)
- [连通域分析](./actions/image/ConnectedComponents.md)
- 图像检测
- [线段检测](./actions/detection/EdgeLineDetection.md)
- [快速直线检查找](./actions/detection/FastLineDetection.md)
- [直线检测](./actions/detection/LineDetection.md)
- [椭圆检测](./actions/detection/EllipseDetection.md)
- [图像差值](./actions/detection/ImageDifference.md)
- [斑点查找](./actions/detection/BlobDetect.md)
- [形状查找](./actions/detection/ShapeDetection.md)
- [形状匹配](./actions/detection/MatchShapes.md)
- [图像查找](./actions/detection/FeatureDetect.md)
- [Blob 查找](./actions/detection/BlobDetect.md)
- [特征匹配](./actions/detection/FeatureDetect.md)
- [查找轮廓](./actions/detection/FindContours.md)
- [近似轮廓](./actions/detection/ApproxPolyDP.md)
- [连通域分析](./actions/detection/ConnectedComponents.md)
- [颜色统计](./actions/detection/ColorPercentage.md)
- [模板匹配](./actions/detection/MatchTemplate.md)
- [颜色统计](./actions/detection/ColorPercentage.md)
- 绘图
- [绘制检测结果](./actions/drawing/DrawDetectionResult.md)
- 深度学习
Expand Down Expand Up @@ -274,4 +274,5 @@
- [RelativePosition](./enums/RelativePosition.md)
- [MouseMessage](./enums/MouseMessage.md)
- [MorphologicalOperations](./enums/MorphologicalOperations.md)
- [ContourApproximationModes](./enums/ContourApproximationModes.md)
- [Changelog](./CHANGELOG.md)
26 changes: 0 additions & 26 deletions docx/actions/detection/ApproxPolyDP.md

This file was deleted.

29 changes: 18 additions & 11 deletions docx/actions/detection/BlobDetect.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,32 @@
# Blob 查找
*Blob* 是图像中与周围区域在属性(例如亮度、颜色)上不同的区域。
# 斑点检测
*斑点* 是图像中与周围区域在属性(例如亮度、颜色)上不同的区域, 也可以称为 *Blob* ,该动作对图像中的 *斑点* ,按照指定的条件进行筛选过滤

## 子流程
> 不支持

## 运行参数

* Image:源图像
* Threshold:阈值范围。通过使用从最小阈值开始对源图像进行阈值处理,将源图像转换为多个二值图像。这些阈值按 *Step*递增, 直到最大阈值。
* Step:相邻阈值之间的距离。
* Color:一个介于 0 和 255 之间的数字,表示 *Blob* 的颜色。*0* 将选择暗斑点,*255* 将选择亮斑点(默认值:*0*)。
* Area:按面积过滤 *Blob*
* Circularity: 衡量 *Blob* 与圆的接近程度。比如:*圆形* 的圆度为 *1**正方形* 的圆度为 *0.785*
* Convexity:按凸性比进行过滤。凸性定义为(*Blob* 的面积/它的*凸包*面积,形状的凸包是完全包围该形状的最紧密的凸形。
* Inertia:按惯量比(拉长比)进行过滤。对于**,惯量比为 *1*,对于*椭圆*,惯量比为 *0**1*,对于*直线*,惯量比值为 *0*
* 图像
> 源图像
* 阈值
> 通过使用从最小阈值开始对源图像进行阈值处理,将源图像转换为多个二值图像。这些阈值按 *步长* 递增, 直到最大阈值。
* 步长
> 相邻阈值之间的距离。
* 面积
> 提取 *斑点* 的面积,按该设置的范围进行 *斑点*过滤。
* 圆形度
> 衡量 *斑点* 与圆的接近程度。比如:*圆形* 的圆度为 *1**正方形* 的圆度为 *0.785*
* 凸性比
> 按凸性比进行过滤。凸性定义为(*斑点* 的面积/它的*凸包*面积,形状的凸包是完全包围该形状的最紧密的凸形。
* 惯量比
> 按惯量比(拉长比)进行过滤。对于**,惯量比为 *1*,对于*椭圆*,惯量比为 *0**1*,对于*直线*,惯量比值为 *0*

## 输出

> *Blob* 区域 [Images](./types/Image.md)
> 过滤后的所有 *斑点* 矩形框,参考: [RotatedRect](./types/RotatedRect.md)

## 脚本调用
Expand Down
16 changes: 10 additions & 6 deletions docx/actions/detection/ColorPercentage.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 颜色统计
此动作可以统计某一颜色在图像当中所占的比例
该动作可以统计某一颜色在图像当中所占的比例。

![action](./images/2023-01-20_204042.png ':size=90%')
![ColorPercentage](./images/2023-01-20_204042.png ':size=90%')


## 子流程
Expand All @@ -11,12 +11,16 @@

## 运行参数

* Image: 图像
* Color:所要统计的颜色。
* Diff:误差。
* 图像
> 要进行颜色统计的图像
* 颜色
> 所要统计的颜色。 由于 *HSV* 颜色空间更符合人的主观视觉感知, 通常使用 *HSV* 颜色空间。
* 误差
> 包含近似颜色的差值。
## 输出

## 输出所要统计的颜色所占的百分比
> 所要统计的颜色所占的百分比

## 脚本调用
Expand Down
28 changes: 0 additions & 28 deletions docx/actions/detection/ConnectedComponents.md

This file was deleted.

26 changes: 0 additions & 26 deletions docx/actions/detection/EdgeLineDetection.md

This file was deleted.

26 changes: 0 additions & 26 deletions docx/actions/detection/FastLineDetection.md

This file was deleted.

17 changes: 10 additions & 7 deletions docx/actions/detection/FeatureDetect.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# 图像查找
此动作可以在一张图片当中查找具有某些特征的图像
# 特征匹配
该动作通过特征匹配,在一张图片当中查找模板图像。

![action](./images/2022-12-10_182315.png ':size=90%')
![FeatureDetect](./images/2022-12-10_182315.png ':size=90%')


## 子流程
Expand All @@ -12,14 +12,17 @@
## 运行参数


* Source:源图像
* Target:要查找的图像
* Precision:精度
* 图像

* 模板
> 要查找的图像
* 精度
> 根据该精度进行特征过滤,低于该值的认为最佳匹配, 匹配越好,该值越小。默认值:0.75

## 输出

> `RotatedRect` 类型
> 检测到的位置区域,参考:[RotatedRect](../types/RotatedRect.md)

## 脚本调用
Expand Down
16 changes: 10 additions & 6 deletions docx/actions/detection/FindContours.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
# 查找轮廓
查找轮廓
轮廓可以简单地理解为连接所有连续点(沿着边界)的曲线,具有相同的颜色或强度。轮廓是形状分析以及物体检测和识别的有用工具。

* 为了获得更高的准确性,请使用二值图像。因此,在查找轮廓之前,请应用阈值或精明的边缘检测。
* 查找轮廓就像从黑色背景中查找白色物体。所以请记住,要找到的对象应该是白色的,背景应该是黑色的。

## 子流程
> 不支持

## 运行参数

* Image:图像
* [Modes](./enums/RetrievalModes.md):模式


* 图像

* 模式
> 轮廓检索模式,控制轮廓的输出层次结构,可以参考:[RetrievalModes](./enums/RetrievalModes.md)
* 方法
> 轮廓近似方法,轮廓只是形成形状边界的点的列表。一种方法是存储表示边界的所有点,但是对于 *三角形**四边形* 等简单形状存储数百个点是浪费的。对于 *三角形*,3 个点就足够了,对于 *四边形*,4 个点就足够了。该标志帮助我们选择近似级别,可以参考:[ContourApproximationMode](./enums/ContourApproximationMode.md)
## 输出


> 查找到的轮廓,参考:[Contours](./types/Contour.md)

## 脚本调用
Expand Down
29 changes: 29 additions & 0 deletions docx/actions/detection/ImageDifference.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 图像差值
这个动作可以比较两个图像,并返回一个显示相似性的度量。结果越低,匹配越好。即使图像旋转、缩放也不会对该比较产生太大影响。

* 为了获得更高的准确性,请使用二值图像
* 要找到的对象应该是白色的,背景应该是黑色的。
## 子流程
> 不支持

## 运行参数

* 源图像
> 源图像
* 目标
> 目标图像
## 输出

> 相似性的指标。越低,表示匹配越好。*0*:表示完全匹配

## 脚本调用

```python
import simple;

```

## 示例
28 changes: 28 additions & 0 deletions docx/actions/detection/LineDetection.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# 直线检测
检测图像中的直线

## 子流程
> 不支持

## 运行参数

* 图像
> 待检测的图像。
* 阈值
> 低于阈值的线段会被抛弃。默认值:*10* 像素。

## 输出

> 检测到的直线, 参考:[Lines](./types/Line.md)

## 脚本调用

```python
import simple;

```

## 示例
19 changes: 13 additions & 6 deletions docx/actions/detection/MatchShapes.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,27 @@
# 形状匹配
从图像上查找形状,即使形状旋转也不会对匹配产生太大影响
该动作可以在一张图像上查找一个特定的形状。即使图像旋转,绽放也不会对该结果产生太大影响

* 为了获得更高的准确性,请使用二值图像
* 要找到的对象应该是白色的,背景应该是黑色的。
## 子流程
> 不支持

## 运行参数

* Image:输入图像
* Target:形状,必须是灰度图
* Mode: 轮廓筛选方法。
* Metric:相似性的指标。越低,表示匹配越好。*0*:表示完全匹配
* 源图像
> 二值化图像,从该图像上查找相应的目标形状。
* 目标
> 目标形状,一张具有特定形状的二值化图像。
* 方法
> 轮廓近似方法,可以参考:[ContourApproximationMode](./enums/ContourApproximationMode.md)
* 指标
> 根据相似性进行过滤。越低,表示匹配越好。*0*:表示完全匹配,低于该值的形状,会被认为是匹配的形状。
## 输出

> 匹配到的的形状位置
> 所有匹配到的形状的位置,可以参考[DetectionResult](./types/DetectionResult.md)

## 脚本调用
Expand Down
Loading

0 comments on commit 1c75274

Please sign in to comment.