// Process image void ProcessImage(Bitmap image) { int foundBlobsCount = blobsBrowser.SetImage(image); blobsCountLabel.Text = string.Format("Found blobs' count: {0}", foundBlobsCount); if (propertyGrid != null) { m_BottomPanel.RemoveChild(propertyGrid, true); propertyGrid = null; } }
// Blob was selected - display its information void blobsBrowser_BlobSelected(object sender, Blob blob) { if (propertyGrid != null) { m_BottomPanel.RemoveChild(propertyGrid, true); propertyGrid = null; } if (blob != null) { propertyGrid = new PropertyTree(m_BottomPanel); propertyGrid.Dock = Pos.Fill; Properties props = propertyGrid.Add("General"); { props.Add("Area", blob.Area.ToString()); props.Add("CenterOfGravity", blob.CenterOfGravity.ToString()); props.Add("ColorMean", new Alt.GUI.Temporary.Gwen.Control.Property.Color(props), blob.ColorMean.R.ToString() + " " + blob.ColorMean.G.ToString() + " " + blob.ColorMean.B.ToString()); props.Add("ColorStdDev", new Alt.GUI.Temporary.Gwen.Control.Property.Color(props), blob.ColorStdDev.R.ToString() + " " + blob.ColorStdDev.G.ToString() + " " + blob.ColorStdDev.B.ToString()); props.Add("Fullness", blob.Fullness.ToString("F2").Replace(',', '.')); props.SplitWidth += 20; } props = propertyGrid.Add("Rectangle"); { props.Add("All", blob.Rectangle.X.ToString() + " " + blob.Rectangle.Y.ToString() + " " + blob.Rectangle.Width.ToString() + " " + blob.Rectangle.Height.ToString()); props.Add("X", blob.Rectangle.X.ToString()); props.Add("Y", blob.Rectangle.Y.ToString()); props.Add("Width", blob.Rectangle.Width.ToString()); props.Add("Height", blob.Rectangle.Height.ToString()); props.SplitWidth += 20; } propertyGrid.ExpandAll(); } }