99 lines
3.0 KiB
Markdown
99 lines
3.0 KiB
Markdown
# RKNN 关键点推理与偏移量计算工具
|
||
|
||
该工具通过使用RKNN模型对输入图像进行关键点检测,并根据检测结果计算相对于固定参考点的偏移量(单位:毫米)。此外,还提供了可视化选项来展示计算结果。
|
||
|
||
## 目录结构
|
||
|
||
├── calculate_offset.py # 主程序脚本
|
||
├── point.rknn # RKNN 模型文件 (请确保正确路径)
|
||
└── README.md # 说明文档
|
||
|
||
## 配置
|
||
|
||
在 `calculate_offset.py` 文件顶部的配置区中,您可以修改如下参数以适应您的需求:
|
||
|
||
- **MODEL_PATH**: RKNN 模型文件路径。
|
||
- **OUTPUT_DIR**: 输出目录路径。
|
||
- **FIXED_REF_POINT**: 固定参考点坐标(像素)。
|
||
- **SCALE_X**, **SCALE_Y**: 缩放因子,用于将像素坐标转换为毫米。
|
||
- **IMG_SIZE**: 输入图像尺寸。
|
||
|
||
## 安装依赖
|
||
|
||
请确保安装了必要的 Python 库。可以通过 pip 安装:
|
||
|
||
```bash
|
||
pip install opencv-python numpy rknnlite
|
||
```
|
||
|
||
## 函数调用1.0
|
||
|
||
您也可以直接调用 calculate_offset_from_image 函数,以便集成到其他项目中:
|
||
示例 1: 仅获取偏移量(不画图)
|
||
|
||
```bash
|
||
from calculate_offset import calculate_offset_from_image
|
||
result = calculate_offset_from_image("your_image_path.jpg", visualize=False)
|
||
if result['success']:
|
||
print(f"Offset: DeltaX={result['dx_mm']:+.2f} mm, DeltaY={result['dy_mm']:+.2f} mm")
|
||
else:
|
||
print("Error:", result['message'])
|
||
```
|
||
示例 2: 获取偏移量并保存可视化图
|
||
|
||
```bash
|
||
from calculate_offset import calculate_offset_from_image
|
||
result = calculate_offset_from_image("your_image_path.jpg", visualize=True)
|
||
```
|
||
|
||
## 函数调用2.0
|
||
|
||
示例 1: 仅获取偏移量(不画图)
|
||
|
||
```bash
|
||
from caculate_diff2.0 import calculate_offset_from_image
|
||
|
||
result = calculate_offset_from_image("11.jpg", visualize=False)
|
||
if result['success']:
|
||
print(f"Offset: DeltaX={result['dx_mm']:+.2f} mm, DeltaY={result['dy_mm']:+.2f} mm")
|
||
else:
|
||
print("Error:", result['message'])
|
||
|
||
```
|
||
示例 2: 获取偏移量并保存可视化图
|
||
|
||
```bash
|
||
from caculate_diff2.0 import calculate_offset_from_image
|
||
|
||
result = calculate_offset_from_image("11.jpg", visualize=True)
|
||
|
||
```
|
||
|
||
##该函数返回一个包含下列字段的字典1.0:
|
||
|
||
success: 成功标志(True/False)
|
||
dx_mm: 水平偏移(毫米)
|
||
dy_mm: 垂直偏移(毫米)
|
||
cx: 中心点 x 坐标(像素)
|
||
cy: 中心点 y 坐标(像素)
|
||
<<<<<<< HEAD
|
||
message: 错误信息或成功提示
|
||
|
||
##该函数返回一个包含下列字段的字典2.0:
|
||
|
||
success: 成功标志(True/False)
|
||
dx_mm: 水平偏移(毫米)
|
||
dy_mm: 垂直偏移(毫米)
|
||
cx: 中心点 x 坐标(像素)
|
||
cy: 中心点 y 坐标(像素)
|
||
message: 错误信息或成功提示
|
||
class_id: 检测类别 ID #这里是bag的id是0
|
||
obj_conf: 检测置信度 #这就是识别为料袋的置信度
|
||
bbox: 检测矩形框 [x_left, y_top, width, height]
|
||
message: 错误信息或成功提示
|
||
|
||
|
||
=======
|
||
message: 错误信息或成功提示
|
||
>>>>>>> a6505573b9361ce4ab920ddc55f4bc6d86d7dfb4
|