You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.3 KiB

  1. #include "../XNetSDKTest.h"
  2. #include "XNetSDKSyn.h"
  3. #include "Camera_Param.h"
  4. #include "Camera_ParamEx.h"
  5. USE_NS_NETSDK_CFG
  6. int TestCameraConfig()
  7. {
  8. printf("%s\r\n", __FUNCTION__);
  9. char c = 0;
  10. int nRet = 0;
  11. while((c = getchar()) != 'q')
  12. {
  13. switch(c)
  14. {
  15. //通用相机参数
  16. case 'a':
  17. {
  18. ///获取相机参数
  19. char szOutBuffer[4096] = {0};
  20. char outbuffer[100] = {0};
  21. int len = 0;
  22. int nInOutSize = sizeof(szOutBuffer);
  23. nRet =XSDK_DevGetChnConfigSyn(g_hDevice, 0, JK_Camera_Param, szOutBuffer, &nInOutSize, 4000, EXCMD_CONFIG_GET);
  24. XSDK_CFG::Camera_Param se;
  25. se.SetName("Camera.Param.[0]");
  26. se.Parse(szOutBuffer);
  27. //白平衡
  28. printf("White balance = %x\r\n", se.WhiteBalance.Value());
  29. //IRCUT
  30. printf("IRCUT = %d\r\n", se.IRCUTMode.Value());
  31. //镜像
  32. printf("PictureMirror = %x\r\n", se.PictureMirror.Value());
  33. //白天降噪等级
  34. printf("Day_nfLevel = %d\r\n", se.Day_nfLevel.Value());
  35. //晚上降噪等级
  36. printf("Night_nfLevel = %d\r\n", se.Night_nfLevel.Value());
  37. //设置相机参数
  38. if(nRet >= 0)
  39. {
  40. se.Day_nfLevel.SetValue(1);
  41. const char *pCfg = se.ToString();
  42. nRet = XSDK_DevSetChnConfigSyn(g_hDevice, 0, JK_Camera_Param, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_CONFIG_SET);
  43. if(nRet >= 0)
  44. {
  45. printf("Set Success!\r\n");
  46. }
  47. }
  48. }
  49. break;
  50. //相机参数扩展版
  51. case 'b':
  52. {
  53. ///获取相机参数
  54. char szOutBuffer[4096] = {0};
  55. char outbuffer[100] = {0};
  56. int len = 0;
  57. int nInOutSize = sizeof(szOutBuffer);
  58. nRet =XSDK_DevGetChnConfigSyn(g_hDevice, 0, JK_Camera_ParamEx, szOutBuffer, &nInOutSize, 4000, EXCMD_CONFIG_GET);
  59. XSDK_CFG::Camera_ParamEx se;
  60. se.SetName("Camera.ParamEx.[0]");
  61. se.Parse(szOutBuffer);
  62. //宽动态
  63. printf("BroadTrends AutoGain = %d, Gain = %d\r\n", se.mBroadTrends.AutoGain.Value(), se.mBroadTrends.Gain.Value());
  64. //设置相机参数
  65. if(nRet >= 0)
  66. {
  67. se.mBroadTrends.AutoGain.SetValue(1);
  68. const char *pCfg = se.ToString();
  69. nRet = XSDK_DevSetChnConfigSyn(g_hDevice, 0, JK_Camera_ParamEx, pCfg, strlen(pCfg), outbuffer, &len, 5000, EXCMD_CONFIG_SET);
  70. if(nRet >= 0)
  71. {
  72. printf("Set Success!\r\n");
  73. }
  74. }
  75. }
  76. break;
  77. }
  78. }
  79. return 0;
  80. }