123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- /*
- tea sorter
- */
- #pragma once
- #include "data_def_api.h"
- using namespace std;
- //定义TCV_DEBUG,每一步图像处理都会输出中间结果图片显示(opencv),回车后继续执行,用于测试
- // #define TCV_DEBUG
- // export
- #define TCV_EXPORTS
- #ifdef TCV_EXPORTS
- #define TCV_API __declspec(dllexport)
- #else
- #define TCV_API __declspec(dllimport)
- #endif
- #ifdef __cplusplus
- extern "C"
- {
- #endif
- namespace graft_cv
- {
- //1 设置log路径
- TCV_API int cv_set_logpath(char*lpath);
- //2 设置log等级
- TCV_API int cv_set_loglevel(int lev);// 0-debug, 1-info, 2-warning, 3-error
- //3 设置是否存储图片(存储路径在configure文件中),true--保存,false--不保存
- TCV_API int cv_init_image_saver();
- //4 初始化:本地配置文件初始化(yml)
- // 返回: 0- 正常; 1- 配置文件不存在
- TCV_API int cv_init(char*conf_file);
- //5 初始化:通过ConfigParam结构体对象直接赋值配置参数(内存)
- TCV_API void cv_set_param(ConfigParam&);
- TCV_API int cv_set_param_from_file(char*conf_file);
- //6 接口退出前的释放
- TCV_API int cv_release();
- //7 获取当前配置文件路径,输入char*要空间足够,内部没有检测是否越界
- TCV_API void cv_get_conf_file(char*);
- //8 保存到本地配置文件中(覆盖)
- TCV_API void cv_save_param(char* conf_file/*=0*/);
- //9 获取当前的配置参数
- TCV_API void cv_get_param(ConfigParam&);
- //10 获取当前版本号,char*要空间足够,内部没有检测是否越界
- TCV_API void get_version(char* buf);
- //11 找到抓取位置
- //
- // 输入:
- // ImgInfo------- 输入
- // posinfo ------- 输出
- // fn ------------ 输入, points指向0,且fn可用时,读取文件中的数据(用于测试),仅支持ply格式
- //
- //[0] tea_grab_x1; //第一株茶叶抓取位置x1,
- //[1] tea_grab_y1; //第一株茶叶抓取位置y1,
- //[2] tea_grab_angle1; //第一株茶叶抓取角度r1,
- //[3] tea_grab_x2; //第二株茶叶抓取位置x2,
- //[4] tea_grab_y2; //第二株茶叶抓取位置y2,
- //[5] tea_grab_angle2; //第二株茶叶抓取角度r2,
- //[6] tea_cut_x1; //第一株茶叶切割位置x1,
- //[7] tea_cut_y1; //第一株茶叶切割位置y1,
- //[8] tea_cut_angle1; //第一株茶叶切割角度r1,
- //[9] tea_cut_x2; //第二株茶叶切割位置x2,
- //[10] tea_cut_y2; //第二株茶叶切割位置y2,
- //[11] tea_cut_angle2; //第二株茶叶切割角度r2,
- // 如果为0,则不存在
- // posinfo.pp_images;
- //
- // 返回: 0- 正常; 其他- 失败
- TCV_API int tea_grab_point(ImgInfo*, PositionInfo& posinfo, const char* fn=0);
-
- //12 找到切割位置
- //
- // 输入:
- // ImgInfo------- 输入
- // posinfo ------- 输出
- // fn ------------ 输入, points指向0,且fn可用时,读取文件中的数据(用于测试),仅支持ply格式
- //
- //[0] tea_grab_x1; //第一株茶叶抓取位置x1,
- //[1] tea_grab_y1; //第一株茶叶抓取位置y1,
- //[2] tea_grab_angle1; //第一株茶叶抓取角度r1,
- //[3] tea_grab_x2; //第二株茶叶抓取位置x2,
- //[4] tea_grab_y2; //第二株茶叶抓取位置y2,
- //[5] tea_grab_angle2; //第二株茶叶抓取角度r2,
- //[6] tea_cut_x1; //第一株茶叶切割位置x1,
- //[7] tea_cut_y1; //第一株茶叶切割位置y1,
- //[8] tea_cut_angle1; //第一株茶叶切割角度r1,
- //[9] tea_cut_x2; //第二株茶叶切割位置x2,
- //[10] tea_cut_y2; //第二株茶叶切割位置y2,
- //[11] tea_cut_angle2; //第二株茶叶切割角度r2,
- // 如果为0,则不存在
- // posinfo.pp_images;
- //
- // 返回: 0- 正常; 其他- 失败
- TCV_API int tea_cut_point(ImgInfo*, PositionInfo& posinfo, const char* fn = 0);
- };//namespace tea_cv
- #ifdef __cplusplus
- }
- #endif
|