ICamera.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. namespace PaintDotNet.Camera
  5. {
  6. public interface ICamera
  7. {
  8. string GetName();
  9. string GetSN();
  10. /// <summary>
  11. /// 自动曝光 1:启用 , 0:禁用
  12. /// </summary>
  13. int AutoExposure { get; set; }
  14. /// <summary>
  15. /// 曝光时间
  16. /// </summary>
  17. double ExposureTime { get; set; }
  18. /// <summary>
  19. /// Bin 0:1x1,1:2x2.....暂时不常用
  20. /// </summary>
  21. int BinningSum { get; set; }
  22. /// <summary>
  23. /// 红色增益
  24. /// </summary>
  25. int RedGain { get; set; }
  26. /// <summary>
  27. /// 绿色增益
  28. /// </summary>
  29. int GreenGain { get; set; }
  30. /// <summary>
  31. /// 蓝色增益
  32. /// </summary>
  33. int BlueGain { get; set; }
  34. /// <summary>
  35. /// 色温
  36. /// </summary>
  37. int ColorTemperature { get; set; }
  38. /// <summary>
  39. /// 对比度
  40. /// </summary>
  41. int Contrast { get; set; }
  42. /// <summary>
  43. /// 选择分辨率
  44. /// </summary>
  45. int ResolutionId { get; set; }
  46. /// <summary>
  47. /// 全图时的分辨率
  48. /// </summary>
  49. Size Resolution { get; }
  50. /// <summary>
  51. /// 当前采集回图像的分辨率
  52. /// </summary>
  53. Size CurrnetResolution { get; }
  54. /// <summary>
  55. /// 平场校正
  56. /// </summary>
  57. int FlatCorretion { get; set; }
  58. /// <summary>
  59. /// 增益
  60. /// </summary>
  61. int Gain { get; set; }
  62. /// <summary>
  63. /// 伽马值
  64. /// </summary>
  65. double Gamma { get; set; }
  66. int LeftLevel { get; set; }
  67. int RightLevel { get; set; }
  68. /// <summary>
  69. /// 0:彩色 , 1:黑白
  70. /// </summary>
  71. int GrayMode { get; set; }
  72. /// <summary>
  73. /// HDR 高动态范围图像
  74. /// </summary>
  75. int HDR { get; set; }
  76. /// <summary>
  77. /// 水平镜像
  78. /// </summary>
  79. bool HorizontalMirrored { get; set; }
  80. /// <summary>
  81. /// 垂直镜像
  82. /// </summary>
  83. bool VerticalMirrored { get; set; }
  84. /// <summary>
  85. /// 自动曝光时的目标灰度
  86. /// </summary>
  87. int Target { get; set; }
  88. Range GetTargetRange();
  89. /// <summary>
  90. /// 亮度
  91. /// </summary>
  92. int Light { get; set; }
  93. /// <summary>
  94. /// 旋转 0:原始,1:L90 , 2:180, 3:R90
  95. /// </summary>
  96. int Rotate { set; }
  97. /// <summary>
  98. /// 色彩饱和度
  99. /// </summary>
  100. double Saturation { get; set; }
  101. /// <summary>
  102. /// 图像锐度
  103. /// </summary>
  104. int Sharpness { get; set; }
  105. /// <summary>
  106. /// 白平衡:0手动,1自动
  107. /// </summary>
  108. int WhiteBalanceMode { set; }
  109. /// <summary>
  110. /// 预览回调
  111. /// </summary>
  112. event Action<Bitmap> FrameCallback;
  113. void Close();
  114. /// <summary>
  115. /// 平场校正计算
  116. /// </summary>
  117. void FlatCalculate();
  118. /// <summary>
  119. /// 平场校正采集
  120. /// </summary>
  121. void FlatCapture();
  122. Range GetColorChannelRang(int channel);
  123. Range GetColorTemperatureRange();
  124. Range GetExposureTimeRange();
  125. Range GetGlobalGainRange();
  126. Range GetLightRange();
  127. List<string> GetResolutionList();
  128. void GetROI(ref int x, ref int y, ref int width, ref int height);
  129. Range GetSaturationRange();
  130. Range GetSharpnessRange();
  131. bool IsOpen();
  132. Bitmap OneShoot();
  133. bool Open();
  134. bool ReadRegisterData(out string snCode);
  135. void RecStart(string fileName);
  136. void RecStop();
  137. void ResetROI();
  138. void SetROI(int x, int y, int width, int height);
  139. void StartPreview();
  140. void StopPreview();
  141. void RepairPreview();
  142. }
  143. }