N8N node for calculating rice canopy coverage rate
npm install n8n-nodes-canopyratebash
进入节点项目目录
cd d:\Workspace
odes\canopyrate
创建全局链接(需要管理员权限)
npm link
`
这会在全局npm模块目录创建一个符号链接。
#### 步骤2:在n8n目录链接节点
`bash
进入n8n安装目录(根据您的n8n安装位置)
cd C:\Users\12573\AppData\Roaming
pm
ode_modules
8n
或者如果是全局安装:
cd C:\Program Files
odejs
ode_modules
8n
链接节点到n8n
npm link n8n-nodes-canopyrate
`
#### 步骤3:验证链接
`bash
检查n8n的node_modules目录
ls node_modules | grep canopyrate
应该能看到n8n-nodes-canopyrate
检查链接是否正确
npm ls n8n-nodes-canopyrate
`
$3
#### 步骤1:打包节点
`bash
在节点目录
cd d:\Workspace
odes\canopyrate
npm pack
`
这会生成一个 .tgz 文件,如 n8n-nodes-canopyrate-0.1.0.tgz
#### 步骤2:在n8n目录安装
`bash
进入n8n安装目录
cd /path/to/n8n
安装节点包
npm install /path/to/n8n-nodes-canopyrate-0.1.0.tgz
`
$3
`bash
cd /path/to/n8n
npm install github:your-username/n8n-nodes-canopyrate
`
$3
安装完成后,必须重启n8n服务:
`bash
如果使用pm2
pm2 restart n8n
如果使用systemd
sudo systemctl restart n8n
如果直接运行
先停止n8n进程,然后重新启动
`
$3
1. 重启n8n后,访问n8n界面
2. 创建工作流,在节点列表中找到"Canopy Rate Calculator"
3. 测试节点:配置图像路径或连接图像输入节点
$3
#### 问题1:npm link权限不足
`bash
Windows: 以管理员身份运行PowerShell
Linux/Mac: 使用sudo
sudo npm link
`
#### 问题2:链接后节点不显示
- 检查n8n日志文件查看错误信息
- 确认节点包名在package.json中正确
- 重启n8n服务
#### 问题3:依赖冲突
`bash
在n8n目录重新安装依赖
npm install
或清除缓存
npm cache clean --force
`
$3
如果要在开发过程中实时调试,可以使用:
`bash
在节点目录
npm run dev
在n8n目录使用nodemon自动重启
npm install -g nodemon
nodemon --watch ../canopyrate --exec "npm start"
`
使用方法
$3
1. 在n8n工作流中添加"Canopy Rate Calculator"节点
2. 选择图像来源:
- Binary Data: 从前置节点的二进制数据获取图像
- File Path: 直接指定图像文件路径
3. 选择输出格式:JSON或CSV
4. 配置可选参数(阈值方法、固定阈值、最小覆盖率等)
$3
- 支持的图像格式:JPG, JPEG, PNG, BMP, TIFF
- 建议图像分辨率:不低于640x480像素
- 图像应包含清晰的植被区域
$3
JSON格式输出包含:
`json
{
"data_name": "image.jpg",
"canopy_rate_percent": 45.67,
"total_area": 307200,
"leaf_area": 140256,
"image_width": 640,
"image_height": 480,
"timestamp": "2024-01-01T12:00:00.000Z"
}
`
CSV格式输出包含相同数据的CSV文件。
技术原理
节点使用以下算法计算冠层覆盖率:
1. 颜色空间转换: 读取RGB图像
2. 超绿法(ExG): 2.5*G - R - B 增强绿色植被区域
3. 阈值分割: 自动或固定阈值进行二值化
4. 面积计算: 统计植被像素占比
开发
$3
`
canopyrate/
├── nodes/
│ └── CanopyRate/
│ └── CanopyRate.node.js # 主要节点代码
├── index.js # 模块导出
├── package.json # 项目配置
└── README.md # 说明文档
`
$3
`bash
npm run build
``