107 lines
4.2 KiB
C
107 lines
4.2 KiB
C
#ifndef __VIZUM_DETECTED_GRAINS_HEADER__
|
||
#define __VIZUM_DETECTED_GRAINS_HEADER__
|
||
|
||
#include "VZNL_Export.h"
|
||
#include "VZNL_Types.h"
|
||
|
||
/// @brief
|
||
/// 获取自动检测结果
|
||
/// <param name = "pLaserResult">[in]未处理的激光线(没有偏移)</param>
|
||
/// <param name = "pProcLaserResult">[in]处理后的激光线</param>
|
||
/// <param name = "eStatus">[in]检测状态</param>
|
||
/// <param name = "pResult">[in]检测结果</param>
|
||
/// <param name = "pParam">[in]传入参数</param>
|
||
typedef int(*VzNL_GetAutoDetectGrainsResultCB)(SVzDetectGrainsLaserResult* pLaserResult, SVzDetectGrainsLaserResult* pProcLaserResult, EVzGrainLaserStatus eStatus, SVzDetectGrainResult* pResult, void* pParam);
|
||
|
||
/// @brief
|
||
/// 开始激光检测
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// @return 返回0为正确,失败返回错误码
|
||
VZNLAPI int VzNL_BeginDetectGrains(VZNLHANDLE hDevice);
|
||
|
||
/// @brief
|
||
/// 激光检测
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "nPointInterval">[in]点的间隔</param>
|
||
/// @return 返回0为正确,失败返回错误码
|
||
VZNLAPI int VzNL_DetectGrainLaser(VZNLHANDLE hDevice);
|
||
|
||
/// @brief
|
||
/// 获取激光线结果点的个数
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// @return 点的个数
|
||
VZNLAPI int VzNL_GetGrainLaserResultPointCount(VZNLHANDLE hDevice);
|
||
|
||
/// @brief
|
||
/// 获取激光线2D结果
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "p2DPoint">[out]2D点,内存空间由用户分配</param>
|
||
/// <param name = "pnCount">[in/out]传入:用户分配的SVzNL2DPoint的结构个数;传出:用户需要分配多少个SVzNL2DPoint</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_GetGrainLaser2DResult(VZNLHANDLE hDevice, SVzNL2DPosition* p2DPoint, int* pnCount);
|
||
|
||
/// @brief
|
||
/// 获取激光线3D结果
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "p3DPoint">[out]3D点,内存空间由用户分配</param>
|
||
/// <param name = "pnCount">[in/out]传入:用户分配的SVzNL3DPosition的结构个数;传出:用户需要分配多少个SVzNL3DPosition</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_GetGrainLaser3DResult(VZNLHANDLE hDevice, SVzNL3DPosition* p3DPoint, int* pnCount);
|
||
|
||
/// @brief
|
||
/// 获取结果图像
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "ppIImageData">[in]图像数据</param>
|
||
VZNLAPI int VzNL_GetGrainImageResult(VZNLHANDLE hDevice, SVzNLImageData** ppLeftImageData, SVzNLImageData** ppRightImageData);
|
||
|
||
/// @brief
|
||
/// 设置过滤高度
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "dHeight">[in]过滤高度</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_ConfigGrainsFilterHeight(VZNLHANDLE hDevice, double dHeight);
|
||
|
||
/// @brief
|
||
/// 设置传送带速度值
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "eDirect">[in]运行方向</param>
|
||
/// <param name = "dSpeed">[in]速度</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_ConfigGrainRunSpeed(VZNLHANDLE hDevice, EVzObjRunDirect eDirect, double dSpeed);
|
||
|
||
/// @brief
|
||
/// 设置正确的个数
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "nValidCount">[in]正确的谷物个数</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_ConfigGrainValidCount(VZNLHANDLE hDevice, unsigned int nValidCount);
|
||
|
||
/// @brief
|
||
/// 设置两边空余的线的个数
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// <param name = "nLineCount">[in]排除的线的个数</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_ConfigGrainExcludeLineCount(VZNLHANDLE hDevice, unsigned int nLineCount);
|
||
|
||
/// @brief
|
||
/// 开始自动检测谷物
|
||
/// <param name = "hDevice">[in]设备</param>
|
||
/// <param name = "pResultCB">[in]谷物回调</param>
|
||
/// <param name = "pParam">[in]回调参数</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_StartAutoDetectGrains(VZNLHANDLE hDevice, EVzFlipType eFlipType, VzNL_GetAutoDetectGrainsResultCB pResultCB, void* pParam);
|
||
|
||
/// @brief
|
||
/// 停止自动检测
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI int VzNL_StopAutoDetectGrains(VZNLHANDLE hDevice);
|
||
|
||
/// @brief
|
||
/// 结束激光检测
|
||
/// <param name = "hDevice">[in]设备句柄</param>
|
||
/// @return 成功返回0,失败返回错误码。
|
||
VZNLAPI void VzNL_EndDetectGrains(VZNLHANDLE hDevice);
|
||
|
||
#endif //__VIZUM_DETECTED_GRAINS_HEADER__
|