158 lines
5.2 KiB
C
158 lines
5.2 KiB
C
|
|
/*
|
|||
|
|
* Header: VZNL_Graphics.h
|
|||
|
|
* Description:<EFBFBD><EFBFBD>ǰ<EFBFBD>ļ<EFBFBD>Ϊΰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Vizum)<EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><EFBFBD><EFBFBD>EyeCB<EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD><EFBFBD><EFBFBD>⺯<EFBFBD><EFBFBD><EFBFBD>ӿڡ<EFBFBD>
|
|||
|
|
*
|
|||
|
|
* Sample:
|
|||
|
|
* VzNL_BeginDetectLaser();
|
|||
|
|
*
|
|||
|
|
* VzNL_SetLaserStandard();
|
|||
|
|
*
|
|||
|
|
* VzNL_EndDetectLaser();
|
|||
|
|
* Author: Mjw
|
|||
|
|
* Date: 2018/08/28
|
|||
|
|
*/
|
|||
|
|
|
|||
|
|
#ifndef __VIZUM_DETECTED_GANGUE_HEADER__
|
|||
|
|
#define __VIZUM_DETECTED_GANGUE_HEADER__
|
|||
|
|
|
|||
|
|
#include "VZNL_Export.h"
|
|||
|
|
#include "VZNL_Types.h"
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_BeginDetectGangue(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nLaserThres <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ[Range:0~255]
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetGangueThres(VZNLHANDLE hDevice, int nLaserThres);
|
|||
|
|
VZNLAPI int VzNL_GetGangueThres(VZNLHANDLE hDevice, int* pnLaserThres);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nPointInterval <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0Ϊ<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>ʧ<EFBFBD>ܷ<EFBFBD><EFBFBD>ش<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_DetectGangue(VZNLHANDLE hDevice, int nPointInterval);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nPointInterval <EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_GetGangueResultPointCount(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2D<32><44><EFBFBD><EFBFBD>
|
|||
|
|
/// <param name = "hDevice">[in]<5D>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name = "p2DPoint">[out]2D<32>㣬<EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name = "pnCount">[in/out]<5D><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SVzNL2DPoint<6E>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD>SVzNL2DPoint</param>
|
|||
|
|
/// @return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʧ<EFBFBD>ܷ<EFBFBD><DCB7>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>롣
|
|||
|
|
VZNLAPI int VzNL_GetGangue2DResult(VZNLHANDLE hDevice, SVzNL2DPosition* p2DPoint, int* pnCount);
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3D<33><44><EFBFBD><EFBFBD>
|
|||
|
|
/// <param name = "hDevice">[in]<5D>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name = "p3DPoint">[out]3D<33>㣬<EFBFBD>ڴ<EFBFBD><DAB4>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name = "pnCount">[in/out]<5D><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SVzNL3DPosition<6F>Ľṹ<C4BD><E1B9B9><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>:<3A>û<EFBFBD><C3BB><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD>SVzNL3DPosition</param>
|
|||
|
|
/// @return <20>ɹ<EFBFBD><C9B9><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʧ<EFBFBD>ܷ<EFBFBD><DCB7>ش<EFBFBD><D8B4><EFBFBD><EFBFBD>롣
|
|||
|
|
VZNLAPI int VzNL_GetGangue3DResult(VZNLHANDLE hDevice, SVzNL3DPosition* p3DPoint, int* pnCount);
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
|
|||
|
|
/// <param name = "hDevice">[in]<5D>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name = "ppIImageData">[in]ͼ<><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
|
VZNLAPI int VzNL_GetGangueImageResult(VZNLHANDLE hDevice, SVzNLImageData** ppLeftImageData, SVzNLImageData** ppRightImageData);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nCount <EFBFBD><EFBFBD>ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetGangueDetectParam(VZNLHANDLE hDevice, const SVzDetectGangueParam* psParam);
|
|||
|
|
VZNLAPI int VzNL_GetGangueDetectParam(VZNLHANDLE hDevice, SVzDetectGangueParam* psParam);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD>궨
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_CalibrationGangue(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>PLC<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] szPLCIP <EFBFBD><EFBFBD>ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetGanguePLCNetwork(VZNLHANDLE hDevice, char szPLCIP[VZNL_SDK_NETWORK_IPv4_LENGTH]);
|
|||
|
|
VZNLAPI int VzNL_GetGanguePLCNetwork(VZNLHANDLE hDevice, char szPLCIP[VZNL_SDK_NETWORK_IPv4_LENGTH]);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] nPointInterval <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetGanguePointInterval(VZNLHANDLE hDevice, int nPointInterval);
|
|||
|
|
VZNLAPI int VzNL_GetGanguePointInterval(VZNLHANDLE hDevice, int* pnPointInterval);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
* @param [in] dSpeed <EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_SetGangueConveyorBeltSpeed(VZNLHANDLE hDevice, double dSpeed);
|
|||
|
|
VZNLAPI int VzNL_GetGangueConveyorBeltSpeed(VZNLHANDLE hDevice, double* pdSpeed);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] bEnable <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ȷ
|
|||
|
|
* @retval 0 <EFBFBD><EFBFBD>ʾ<EFBFBD>ɹ<EFBFBD>
|
|||
|
|
* @retval <EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD>ʾʧ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>VzNL_GetErrorInfo<EFBFBD><EFBFBD>ȡ
|
|||
|
|
*/
|
|||
|
|
VZNLAPI int VzNL_EnableGangueFilterBaseHeight(VZNLHANDLE hDevice, VzBool bEnable);
|
|||
|
|
VZNLAPI VzBool VzNL_IsEnableGangueFilterBaseHeight(VZNLHANDLE hDevice, int* pnErrorCode);
|
|||
|
|
|
|||
|
|
|
|||
|
|
// @brief
|
|||
|
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
|
|||
|
|
VZNLAPI int VzNL_GetGangueObjResult(VZNLHANDLE hDevice, SVzGangueObjectResult* pResult, int* pnCount);
|
|||
|
|
|
|||
|
|
/// @brief
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD>ҷ<EFBFBD><D2B7>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
/// <param name = "hDevice">[in]<5D>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name = "eFlipType">[in]<5D><><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>,keFlipType_Vertical<61><6C>ֱ<EFBFBD><D6B1>ת</param>
|
|||
|
|
/// <param name = "pCB">[in]<5D>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
|
/// <param name = "pCBParam">[in]<5D>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
|
VZNLAPI int VzNL_StartAutoDetectGangue(VZNLHANDLE hDevice, EVzFlipType eFlipType, VzNL_GetAutoDetectResultCB pCB, void* pCBParam);
|
|||
|
|
VZNLAPI int VzNL_StopAutoDetectGangue(VZNLHANDLE hDevice);
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @param [in] hDevice <EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
* @return <EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD>ĸ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
*/
|
|||
|
|
VZNLAPI void VzNL_EndDetectGangue(VZNLHANDLE hDevice);
|
|||
|
|
#endif //__VIZUM_DETECTED_GANGUE_HEADER__
|