| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // +build ignore
- #include "./include/MvCameraControl.h"
- #include "../swapi/include_swapiLib.h"
- const char *MODULE_NAME = "HKCamReset";
- int main(int argc,char *argv[])
- {
- HANDLE hCam = NULL; MV_CC_DEVICE_INFO_LIST devList = { 0 };
- MV_CC_DEVICE_INFO *pDevInfo; int ret;
- // 1, 查找相机
- ret = MV_CC_Initialize();
- if(MV_OK != ret)
- {
- sw_log_error("[%s] 相机SDK初始化失败, errCode=0x%x!!", MODULE_NAME, ret);
- goto end_p;
- }
- ret = MV_CC_EnumDevices(MV_USB_DEVICE, &devList); // 目前只枚举USB连接的相机
- if(MV_OK != ret)
- {
- sw_log_error("[%s] USB口枚举相机失败, errCode=0x%x!!", MODULE_NAME, ret);
- goto end_p;
- }
- if(devList.nDeviceNum != 1)
- {
- ret = -1;
- sw_log_error("[%s] USB口相机数量错误, deviceNum=%u!!", MODULE_NAME, devList.nDeviceNum);
- goto end_p;
- }
- pDevInfo = devList.pDeviceInfo[0];
- if(!pDevInfo)
- {
- ret = -2;
- sw_log_error("[%s] unexpected internal error, unable to obtain detailed information about the industrial camera!!", MODULE_NAME);
- goto end_p;
- }
- // 2, 打开相机
- ret = MV_CC_CreateHandleWithoutLog(&hCam, pDevInfo);
- if(MV_OK == ret) ret = MV_CC_OpenDevice(hCam, MV_ACCESS_Exclusive, 0);
- if(MV_OK != ret)
- {
- sw_log_error("[%s] USB口相机打开失败, errCode=0x%x!!", MODULE_NAME, ret);
- goto end_p;
- }
- // 3, 重置相机
- ret = MV_CC_SetCommandValue(hCam, "DeviceReset");
- if(MV_OK != ret)
- {
- sw_log_error("[%s] USB口相机重置失败, errCode=0x%x!!", MODULE_NAME, ret);
- goto end_p;
- }
- // 4, 关闭相机
- end_p:
- if(hCam)
- {
- MV_CC_CloseDevice(hCam);
- MV_CC_DestroyHandle(hCam);
- }
- MV_CC_Finalize();
- return ret;
- }
|