92 lines
3.0 KiB
C
92 lines
3.0 KiB
C
|
|
/*
|
|||
|
|
* Date: 2019/0/28
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef __VIZUM_DETECTED_CIRCLEMARK_HEADER__
|
|||
|
|
#define __VIZUM_DETECTED_CIRCLEMARK_HEADER__
|
|||
|
|
|
|||
|
|
#include "VZNL_Export.h"
|
|||
|
|
#include "VZNL_Types.h"
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 获取自动检测结果
|
|||
|
|
* @param [out] pMarkPos Mark点信息
|
|||
|
|
* @param [out] nCount Mark点个数
|
|||
|
|
* @param [out] pParam 回调传入参数
|
|||
|
|
*/
|
|||
|
|
typedef void(*VzNL_GetAutoDetectMarkResultCB)(SVzCircleMarkPosInfo* pMarkPos, int nCount, void* pParam);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 开始圆形Mark检测
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @param [in] bPointMark Mark点个数VzTrue为点Mark,VzFalse为面Mark
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_BeginDetectCircleMark(VZNLHANDLE hDevice, VzBool bPointMark);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 设置Mark的点
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @param [in] nDiameter 要检测的Mark点的直径
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetCircleMarkDiameter(VZNLHANDLE hDevice, int nDiameter);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 设置Mark的饱和门限值
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @param [in] nSatureate 饱和门限值
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetCircleMarkSatureate(VZNLHANDLE hDevice, int nSatureate);
|
|||
|
|
VZNLAPI int VzNL_GetCircleMarkSatureate(VZNLHANDLE hDevice, int* pnErrorCode);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 圆形Mark检测
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_DetectCircleMark(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 获取圆形Mark线结果点的个数
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @return 点的个数
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_GetCircleMarkResultPointCount(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 获取圆形Mark线3D结果
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @param [out] p3DPoint 3D点,内存空间由用户分配
|
|||
|
|
* @param [in/out] pnCount 传入:用户分配的SVzCircleMarkPosInfo的结构个数;传出:用户需要分配多少个SVzCircleMarkPosInfo
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_GetCircleMark3DResult(VZNLHANDLE hDevice, SVzCircleMarkPosInfo* pMarkPos, int* pnCount);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 启动自动检测,并且返回圆形Mark线
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @param [in] pCB 自动检测数据回调函数
|
|||
|
|
* @param [in] pCBParam 回调函数返回参数
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_StartAutoDetectCircleMark(VZNLHANDLE hDevice, VzNL_GetAutoDetectMarkResultCB pCB, void* pCBParam);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 停止自动检测
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_StopAutoDetectCircleMark(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief 结束圆形Mark检测
|
|||
|
|
* @param [in] hDevice 设备句柄
|
|||
|
|
* @return 返回0为正确,失败返回错误码
|
|||
|
|
*/
|
|||
|
|
VZNLAPI void VzNL_EndDetectCircleMark(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
|
|||
|
|
#endif //__VIZUM_DETECTED_LASER_HEADER__
|