mirror of
https://github.com/NanjingForestryUniversity/supermachine--tomato-passion_fruit.git
synced 2025-11-09 14:54:07 +00:00
65 lines
3.2 KiB
Markdown
65 lines
3.2 KiB
Markdown
# 百香果&西红柿通信
|
||
|
||
基于pipe命名管道,数据共3个字段(长度、指令、数据):
|
||
|
||
| 长度1 | 长度2 | 长度3 | 长度4 | 指令1 | 指令2 | 数据1 | 数据2 | ... | 数据i |
|
||
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--: | :---: |
|
||
| 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | ... | 8'hzz |
|
||
|
||
## 长度
|
||
|
||
一个32位无符号数length,长度 = 数据字节数i + 2 。<br>`长度1`指length[31:24],`长度2`指length[23:16],`长度3`指length[15:8],`长度4`指length[7:0]
|
||
|
||
## 指令
|
||
|
||
ASCII字符,共2字节16位,比如`指令1`为'T',`指令2`为'O',代表番茄数据包
|
||
|
||
具体指令:
|
||
|
||
| 指令1 | 指令2 | 指令含义 |
|
||
| :---: | :---: | :----------: |
|
||
| T | O | 番茄数据 |
|
||
| P | F | 百香果数据 |
|
||
| R | E | 返回结果数据 |
|
||
| K | O | 返回空果 |
|
||
|
||
## **数据**
|
||
|
||
**RGB图像数据包:'指令1''指令2 '**,`数据1`~`数据i`包含了图像的行数rows(高度)、列数cols(宽度)、以及图像的RGB数据,组合方式为**高度+宽度+RGB数据**
|
||
$$
|
||
i-4=rows \times cols \times 3
|
||
$$
|
||
`数据1`~`数据i`的分布具体如下:
|
||
|
||
| 行数1 | 行数2 | 列数1 | 列数2 | 图像数据1 | ... | 图像数据(i-4) |
|
||
| :--------: | :-------: | :--------: | :-------: | :-------: | :--: | :-----------: |
|
||
| rows[15:8] | rows[7:0] | cols[15:8] | cols[7:0] | | ... | |
|
||
|
||
|
||
|
||
**光谱数据包:' 指令1''指令2 '**,`数据1`~`数据i`包含了光谱数据的行数rows(高度)、列数cols(宽度)、谱段数bands、以及光谱数据,组合方式为**高度+宽度+谱段数+光谱数据**
|
||
$$
|
||
i-6=rows \times cols \times bands \times 2
|
||
$$
|
||
`数据1`~`数据i`的分布具体如下:
|
||
|
||
| 行数1 | 行数2 | 列数1 | 列数2 | 谱段1 | 谱段2 | 图像数据1 | ... | 图像数据(i-6) |
|
||
| :--------: | :-------: | :--------: | :-------: | :---------: | :--------: | :-------: | :--: | :-----------: |
|
||
| rows[15:8] | rows[7:0] | cols[15:8] | cols[7:0] | bands[15:8] | bands[7:0] | | ... | |
|
||
|
||
|
||
|
||
|
||
|
||
**返回结果数据包:'R''E'**,`数据1`~`数据i`包含了糖度值Brix、颜色占比color、直径long、预估重量weight、缺陷个数num、缺陷面积area、结果图像的行数rows(高度)、列数cols(宽度)、以及结果图像的RGB数据,组合方式为**糖度值+颜色占比+直径+预估重量+缺陷个数+缺陷面积+高度+宽度+RGB数据**
|
||
$$
|
||
i-16=rows \times cols \times 3
|
||
$$
|
||
`数据1`~`数据i`的分布具体如下:
|
||
|
||
| 糖度值2 | 糖度值1 | 颜色占比 | 直径2 | 直径1 | 预估重量 | 缺陷个数1 | 缺陷个数2 | 缺陷面积1 | 缺陷面积2 | 缺陷面积3 | 缺陷面积4 | 行数1 | 行数2 | 列数1 | 列数2 | 图像数据1 | ... | 图像数据(i-16) |
|
||
| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | --- | --- | --- | --- |
|
||
| Brix[15:8] | Brix[7:0] | color[7:0] | long[15:8] | long[7:0] | weight[7:0] | num[15:8] | num[7:0] | area[31:24] | area[23:16] | area[15:8] | area[7:0] | rows[15:8] | rows[7:0] | cols[15:8] | cols[7:0] | | ... | |
|
||
|
||
**返回空果数据包:‘K’‘O’**,不包含数据字段,仅有**长度字段+指令字段**
|