80 lines
1.9 KiB
Markdown
80 lines
1.9 KiB
Markdown
|
# 图片灰度处理工具
|
|||
|
|
|||
|
这个程序可以处理本地图片和网络图片,提供两种灰度处理算法,并支持生成 TSPL 打印指令:
|
|||
|
1. OTSU 自动阈值法
|
|||
|
2. 平均灰度法
|
|||
|
|
|||
|
## 功能特点
|
|||
|
|
|||
|
- 支持本地图片和网络图片处理
|
|||
|
- 提供 OTSU 和平均灰度两种处理算法
|
|||
|
- 自动创建输出目录
|
|||
|
- 保留原始文件名
|
|||
|
- 生成 TSPL 打印指令
|
|||
|
- 提供详细的处理信息输出
|
|||
|
|
|||
|
## 算法说明
|
|||
|
|
|||
|
1. **OTSU 算法**:
|
|||
|
- 自动计算最优阈值
|
|||
|
- 适用于双峰直方图图像
|
|||
|
- 输出文件名后缀为 `_otsu.jpg`
|
|||
|
- 生成对应的 `_otsu.tspl` 打印指令文件
|
|||
|
|
|||
|
2. **平均灰度算法**:
|
|||
|
- 使用图像的平均灰度值作为阈值
|
|||
|
- 简单快速,适用于对比度较好的图像
|
|||
|
- 输出文件名后缀为 `_average.jpg`
|
|||
|
- 生成对应的 `_average.tspl` 打印指令文件
|
|||
|
|
|||
|
## TSPL 打印指令
|
|||
|
|
|||
|
程序会为每个处理后的图像生成对应的 TSPL 打印指令文件:
|
|||
|
- 自动计算适合的打印参数
|
|||
|
- 支持自定义打印浓度和速度
|
|||
|
- 生成标准 TSPL 指令格式
|
|||
|
- 可直接发送到支持 TSPL 的打印机
|
|||
|
|
|||
|
## 使用方法
|
|||
|
|
|||
|
1. 安装依赖:
|
|||
|
```bash
|
|||
|
npm install
|
|||
|
```
|
|||
|
|
|||
|
2. 运行程序:
|
|||
|
```bash
|
|||
|
npm start
|
|||
|
```
|
|||
|
|
|||
|
## 输出说明
|
|||
|
|
|||
|
- 程序会在 `output` 目录下保存:
|
|||
|
- 处理后的图片(.jpg)
|
|||
|
- TSPL 打印指令文件(.tspl)
|
|||
|
- 控制台会显示:
|
|||
|
- 图片尺寸
|
|||
|
- 计算得到的阈值
|
|||
|
- 图片输出路径
|
|||
|
- TSPL 指令文件路径
|
|||
|
|
|||
|
## 自定义使用
|
|||
|
|
|||
|
你可以修改 `src/index.js` 中的参数来处理其他图片:
|
|||
|
|
|||
|
```javascript
|
|||
|
// 处理网络图片
|
|||
|
const imageUrl = 'https://你的图片URL';
|
|||
|
|
|||
|
// 选择处理方法: 'otsu' 或 'average'
|
|||
|
const result = await processor.processImage(imageUrl, outputDir, 'otsu');
|
|||
|
```
|
|||
|
|
|||
|
你也可以自定义 TSPL 转换器的参数:
|
|||
|
|
|||
|
```javascript
|
|||
|
const tsplConverter = new TSPLConverter({
|
|||
|
density: 10, // 打印浓度 (0-15)
|
|||
|
speed: 3, // 打印速度 (1-4)
|
|||
|
width: 384 // 打印宽度(点)
|
|||
|
});</content>
|