---
date: 2026-06-17
version: V1.4.1
tag: V1.4.1
commit: 3e16999efc1c28a127156285a2a8cd8ae5f308ad
author: William
license: MIT
---

V1.4.1 是 V1.4.0 主体识别能力的**深度打磨版本**——解决了「自动消除把物体内部浅色内容也吃掉」这一长期反馈问题,并新增边框恢复能力与全站脚注版权。

### 1. 新增物体边框识别

`src/core/subjectExtraction.ts` 主体提取流水线新增**「边框恢复」算法(restoreFrame)**:

- 主流水线升级为 4 步:
1. **4 角 BFS flood fill** —— 消除与图片 4 角连通的背景。
2. **连通域分析(4 邻域 CCA)** —— 取 Top N 个最大主体,过滤零散碎片。
3. **洞填充** —— 恢复主体内部被错误涂白的浅色细节(如 H2、白色装饰)。
4. **边框恢复** —— 恢复主体周围被错误涂白的**深色描边 / 外框**。

- 典型场景:原本是「黑边 + 内部图案」的设计,**黑边不再被误判为背景而消失**。

### 2. 加强主题识别能力

- 新增 `keepCount`(保留 Top N 个最大连通域)与 `minArea`(最小面积阈值)参数。
- 用户可在导入图片对话框中**实时调参**,精细控制「保留多少个主体、过滤多大以上的碎片」。
- 默认 `keepCount=1, minArea=0` —— 与 V1.4.0 行为完全一致,**老用户无感升级**。

### 3. 修复浅色内容被误消除的 Bug

**问题**:之前自动消除算法会把「主体内部的浅色内容」一并涂白,例如:

> 一个深色猫的图案里,**H2(白色「H2」字样)** 经常被当成背景涂掉。

**修复**:在流水线中加入 **「洞填充(fillSubjectHoles)」** 步骤,把这些被错误涂白的浅色细节**识别为「洞」并填回原色**。

> 该选项默认开启,**不影响原有识别结果**,仅修复问题样本。

### 4. 脚注新增作者版权 ©️

新增独立组件 `src/components/AppFooter.tsx`,并在以下页面底部统一引入:

| 页面 | 是否显示脚注 |
| --- | --- |
| `/admin` 管理后台 | ✅ |
| `/shop` 店家模块 | ✅ |
| `/showcase` 展示柜 | ✅ |

脚注包含:

- **当前版本号**(V1.4.1)。
- **作者署名**:链接到 GitHub `William-Z0314`。
- **官网链接**:[https://www.wizstudio.cn/archives/category/wipindou](https://www.wizstudio.cn/archives/category/wipindou)
- **© 版权信息**。

### 主体提取算法升级

`SubjectExtractionOptions` 扩展为 5 个开关 / 参数:

```ts
interface SubjectExtractionOptions {
threshold: number // 4 角背景色相似度阈值(默认 50)
keepCount?: number // 保留 Top N 个最大连通域(默认 1)
minArea?: number // 最小面积阈值(默认 0)
fillHoles?: boolean // 洞填充(默认 true)
restoreFrame?: boolean // 边框恢复(默认 true)
}
```

### 洞填充实现要点

- 通过反向 4 角 flood fill 检测「背景区域」中的「非背景孤岛」。
- 这些孤岛大多数是**主体内部的浅色细节**(白色文字、装饰点、镂空图案)。
- 还原策略:把孤岛像素**恢复为原图颜色**,保持原始设计意图。

### 边框恢复实现要点

- 在主体 mask 上**提取外轮廓**,向外扩展 1~2 像素。
- 若扩展区内原图是**深色**,则恢复为深色 —— 即「黑色描边 / 外框」。
- 同时与背景色做比较,避免把「被错误消除的浅色背景」也算成边框。

V1.4.0 引入「色彩降噪」解决了「颜色太多」的问题,但**没有解决另一个长期痛点**:

> 「自动消除」把物体内的浅色细节(H2、白字、装饰)也涂掉了,导致识别结果缺胳膊少腿。

V1.4.1 把「识别准确度」当成核心 KPI 重写一遍主体识别模块,并**新增可调参数**让用户能精细控制结果。

### 场景 A:黑边 + 内部图案

- 旧版:黑边被识别为背景,**整圈外框消失**。
- V1.4.1:`restoreFrame=true` 自动恢复,**黑边完整保留**。

### 场景 B:深色动物身上的白色字

- 旧版:H2 等白色字被当成背景涂白。
- V1.4.1:`fillHoles=true` 自动洞填充,**白色字恢复**。

### 场景 C:多主体构图

- 旧版:保留 Top 1,其他物体被消除。
- V1.4.1:用户可调 `keepCount=2/3/...`,**保留多个主体**,并通过 `minArea` 过滤小碎片。

- **所有用户**建议升级:哪怕不主动调参,也享受主体识别准确度提升。
- **经常做带描边 / 带文字的图**的用户:升级后效果立竿见影。
- **已有图纸**:不会受影响,可在导入图片对话框中**重新调整参数**后保存为新版本。
- **完全向后兼容**:默认参数与 V1.4.0 一致,老用户**无感升级**。

- 新增组件:`src/components/AppFooter.tsx`。
- 算法升级:`src/core/subjectExtraction.ts`(新增洞填充 + 边框恢复)。
- 关联模块:`src/core/patternRecognition.ts`(与第三方图纸识别共享主体识别管线)。
- 数据库:`server/data/db.json`(脚注文案版本号同步)。
- 不引入新依赖,**完全向后兼容**。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。