mirror of
https://github.com/NanjingForestryUniversity/supermachine--tomato-passion_fruit.git
synced 2025-11-09 23:03:58 +00:00
75 lines
3.7 KiB
Markdown
75 lines
3.7 KiB
Markdown
# 百香果&西红柿通信
|
||
|
||
OSI5~7层,基于单播TCP/IP,一包数据由8'haa打头,8'hbb结束,共6个字段:
|
||
|
||
| 起始 | 长度1 | 长度2 | 长度3 | 长度4 | 类型1 | 类型2 | 类型3 | 类型4 | 数据1 | 数据2 | ... | 数据i | 校验1 | 校验2 | 结束 |
|
||
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :--: | :---: | :---: | :---: | :---: |
|
||
| 8'haa | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | 8'hzz | ... | 8'hzz | 8'hff | 8'hff | 8'hbb |
|
||
|
||
### 起始
|
||
|
||
1字节,8'haa
|
||
|
||
### 长度
|
||
|
||
一个32位无符号数length,长度 = 数据字节数i + 4 。<br>`长度1`指length[31:24],`长度2`指length[23:16],`长度3`指length[15:8],`长度4`指length[7:0]
|
||
|
||
### 类型&数据
|
||
|
||
ASCII字符,比如`类型1`为' '(空格),`类型2`为' '(空格),`类型3`为'I',`类型4`为'M',代表RGB图像数据包
|
||
|
||
- **RGB图像数据包' (空格)''(空格) ''I''M'**,`数据1`~`数据i`包含了图像的行数rows(高度)、列数cols(宽度)、以及图像的RGB数据
|
||
|
||
$$
|
||
i-4=rows \times cols \times 3
|
||
$$
|
||
具体如下:
|
||
|
||
| 行数1 | 行数2 | 列数1 | 列数2 | 图像数据1 | ... | 图像数据(i-4) |
|
||
| :--------: | :-------: | :--------: | :-------: | :-------: | :--: | :-----------: |
|
||
| rows[15:8] | rows[7:0] | cols[15:8] | cols[7:0] | | ... | |
|
||
|
||
**返回结果数据包' (空格)''R''I''M'**,`数据1`~`数据i`包含了长径long、短径short、缺陷个数num、缺陷面积area、结果图像的行数rows(高度)、列数cols(宽度)、以及结果图像的RGB数据
|
||
|
||
|
||
$$
|
||
i-14=rows \times cols \times 3
|
||
$$
|
||
具体如下:
|
||
|
||
| 长径1 | 长径2 | 短径1 | 短径2 | 缺陷个数1 | 缺陷个数2 | 缺陷面积1 | 缺陷面积2 | 缺陷面积3 | 缺陷面积4 | 行数1 | 行数2 | 列数1 | 列数2 | 图像数据1 | 图像数据(i-14) |
|
||
| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |
|
||
| long[15:8] | long[7:0] | short[15:8] | short[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] | | |
|
||
|
||
- **光谱数据包' (空格)''(空格) ''S''P'**,`数据1`~`数据i`包含了光谱数据的行数rows(高度)、列数cols(宽度)、谱段数bands、以及图像的光谱数据
|
||
|
||
$$
|
||
i-6=rows \times cols \times bands \times 4
|
||
$$
|
||
具体如下:
|
||
|
||
| 行数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] | | ... | |
|
||
|
||
- **模型切换指令**
|
||
|
||
**' (空格)''(空格) ''P''A'**,表示使用的是百香果分级模型
|
||
|
||
| 起始 | 长度1 | 长度2 | 长度3 | 长度4 | 类型1 | 类型2 | 类型3 | 类型4 | 数据1 | 校验1 | 校验2 | 结束 |
|
||
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
|
||
| 8'haa | 8'd0 | 8'd0 | 8'd0 | 8'd5 | ' ' | ' ' | 'P' | 'A' | 8'hff | 8'hff | 8'hff | 8'hbb |
|
||
|
||
**' (空格)''(空格) ''T''O'**,表示使用的是西红柿分级模型
|
||
|
||
| 起始 | 长度1 | 长度2 | 长度3 | 长度4 | 类型1 | 类型2 | 类型3 | 类型4 | 数据1 | 校验1 | 校验2 | 结束 |
|
||
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
|
||
| 8'haa | 8'd0 | 8'd0 | 8'd0 | 8'd5 | ' ' | ' ' | 'T' | 'O' | 8'hff | 8'hff | 8'hff | 8'hbb |
|
||
|
||
### 校验
|
||
|
||
2字节,`校验1`为8'hff,`校验2`为8'hff
|
||
|
||
### 结束
|
||
|
||
1字节,8'hbb |