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.

68 lines
2.3 KiB

  1. //----------------------------------------------------------------------------
  2. // Copyright (C) 2004-2020 by EMGU Corporation. All rights reserved.
  3. //----------------------------------------------------------------------------
  4. using System;
  5. using System.CodeDom;
  6. using Microsoft.VisualStudio.DebuggerVisualizers;
  7. using Emgu.CV;
  8. using Emgu.CV.UI;
  9. using System.Diagnostics;
  10. using System.Security.Cryptography;
  11. using Emgu.CV.DebuggerVisualizers;
  12. [assembly: DebuggerVisualizer(
  13. typeof(Emgu.CV.DebuggerVisualizers.ImageVisualizer),
  14. typeof(VisualizerObjectSource),
  15. //Target = typeof(Image<,>),
  16. TargetTypeName = "Emgu.CV.Image<,>, Emgu.CV.Platform.NetStandard",
  17. Description = "Image<,> debugger visualizer")]
  18. [assembly: DebuggerVisualizer(
  19. typeof(Emgu.CV.DebuggerVisualizers.MatVisualizer),
  20. typeof(VisualizerObjectSource),
  21. //Target = typeof(Mat),
  22. TargetTypeName = "Emgu.CV.Mat, Emgu.CV.Platform.NetStandard",
  23. Description = "Mat debugger visualizer")]
  24. [assembly: DebuggerVisualizer(
  25. typeof(Emgu.CV.DebuggerVisualizers.UMatVisualizer),
  26. typeof(VisualizerObjectSource),
  27. //Target = typeof(UMat),
  28. TargetTypeName = "Emgu.CV.UMat, Emgu.CV.Platform.NetStandard",
  29. Description = "UMat debugger visualizer")]
  30. namespace Emgu.CV.DebuggerVisualizers
  31. {
  32. public sealed class ImageVisualizer : BaseImageVisualizer
  33. {
  34. }
  35. public sealed class MatVisualizer : BaseImageVisualizer
  36. {
  37. }
  38. public sealed class UMatVisualizer : BaseImageVisualizer
  39. {
  40. }
  41. public class BaseImageVisualizer : DialogDebuggerVisualizer
  42. {
  43. protected override void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
  44. {
  45. IInputArray image = objectProvider.GetObject() as IInputArray;
  46. if (image != null)
  47. {
  48. using (ImageViewer viewer = new ImageViewer())
  49. {
  50. viewer.Image = image;
  51. windowService.ShowDialog(viewer);
  52. }
  53. }
  54. }
  55. public static void TestShowVisualizer(object objectToVisualize)
  56. {
  57. VisualizerDevelopmentHost myHost = new VisualizerDevelopmentHost(objectToVisualize, typeof(BaseImageVisualizer));
  58. myHost.ShowVisualizer();
  59. }
  60. }
  61. }