public override void Load(IServiceProvider provider)
        {
            imageViewer = new MultipleImageViewer {
                Dock = DockStyle.Fill
            };
            imageViewer.PopulateMultipleImageViewer <MultiAnimalTrackingData>();
            imageViewer.MaximizeDropDownMenuWidth();
            imageViewer.SelectImageIndex(0);
            Random rnd = new Random();
            var    visualizerService = (IDialogTypeVisualizerService)provider.GetService(typeof(IDialogTypeVisualizerService));

            if (visualizerService != null)
            {
                visualizerService.AddControl(imageViewer);
            }
            VisualizerCanvas.Load += (sender, e) =>
            {
                labelTexture = new IplImageTexture();
                GL.Enable(EnableCap.Blend);
                GL.Enable(EnableCap.PointSmooth);
                GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
            };
            VisualizerCanvas.RenderFrame += (sender, e) => RenderFrame();
            base.Load(provider);
        }
Пример #2
0
 public override void Show(object value)
 {
     centroidData = (CentroidData)value;
     if (centroidData != null)
     {
         if (imageViewer.SelectedImageViewer == nameof(centroidData.BackgroundSubtractedImage) && centroidData.BackgroundSubtractedImage != null)
         {
             imageViewer.Update(centroidData.BackgroundSubtractedImage);
         }
         else if (imageViewer.SelectedImageViewer == nameof(centroidData.ThresholdImage) && centroidData.ThresholdImage != null)
         {
             imageViewer.Update(centroidData.ThresholdImage);
         }
         else if (imageViewer.SelectedImageViewer == nameof(centroidData.LargestContour) && centroidData.ThresholdImage != null)
         {
             IplImage contourImage = new IplImage(centroidData.ThresholdImage.Size, centroidData.ThresholdImage.Depth, 3);
             contourImage.SetZero();
             if (centroidData.LargestContour != null)
             {
                 CV.DrawContours(contourImage, centroidData.LargestContour.Contour, Scalar.All(255), Scalar.All(0), 0, -1);
                 CV.DrawContours(contourImage, centroidData.LargestContour.Contour, new Scalar(0, 0, 255), Scalar.All(0), 0, 1 * VisualizerCanvas.Height / 640);
             }
             imageViewer.Update(contourImage);
         }
         else
         {
             if (imageViewer.SelectedImageIndex != 0)
             {
                 imageViewer.SelectImageIndex(0);
             }
             imageViewer.Update(centroidData.Image);
         }
     }
 }