AutoMeasureAnalysis.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using OpenCvSharp;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. namespace SmartCoalApplication.Base.AutoMeasure
  8. {
  9. public class AutoMeasureAnalysis
  10. {
  11. public bool erzhichuli = false;// true;//false;
  12. public bool fanweibuchang = false;
  13. public bool daodianbu = false;
  14. public int number;
  15. public int wrongNumber;
  16. public int success;
  17. public Mat result = new Mat();
  18. public bool isNewSuanfa = true;
  19. public List<DataInfor> dataInfors = new List<DataInfor>();
  20. public void UpdateSuccessLine()
  21. {
  22. success++;
  23. wrongNumber = number - success;
  24. }
  25. public void setErzhichuli(bool isErzhichuli)
  26. {
  27. this.erzhichuli = isErzhichuli;
  28. }
  29. public void setFanweibuchang(bool isFanweibuchang)
  30. {
  31. this.fanweibuchang = isFanweibuchang;
  32. }
  33. public void setBool(bool isDaodianbu)
  34. {
  35. this.daodianbu = isDaodianbu;
  36. }
  37. public void setIsNewSuanfa(bool isNewSuanfa)
  38. {
  39. this.isNewSuanfa = isNewSuanfa;
  40. }
  41. public void Label(Mat image)
  42. {
  43. Point p1 = new Point();
  44. Point p2 = new Point();
  45. Ceju ceju = new Ceju();
  46. for (int i = 0; i < dataInfors.Count; i++)
  47. {
  48. p1.X = dataInfors[i].point1.X;
  49. p1.Y = dataInfors[i].point1.Y;
  50. p2.X = dataInfors[i].point2.X;
  51. p2.Y = dataInfors[i].point2.Y;
  52. if (dataInfors[i].point1.Y == dataInfors[i].point2.Y)
  53. {
  54. ceju.LabelHorizontal(image, p1, p2, dataInfors[i].value);
  55. }
  56. else
  57. {
  58. ceju.LabelVertical(image, p1, p2, dataInfors[i].value);
  59. }
  60. }
  61. }
  62. public virtual void Compute(Mat mat, bool flag, int X, int Y)
  63. {
  64. }
  65. }
  66. }