public WriteableBitmap ToWriteableBitmap() { using (Mat m = this.Mat) { return(m.ToWritableBitmap()); } }
public static WriteableBitmap ToWriteableBitmap <TColor, TDepth>(this Image <TColor, TDepth> image) where TColor : struct, IColor where TDepth : new() { using (Mat m = image.Mat) { return(m.ToWritableBitmap()); } }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="NavigationHelper"/>. /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e) { // TODO: Create an appropriate data model for your problem domain to replace the sample data var item = await SampleDataSource.GetItemAsync((string)e.NavigationParameter); this.DefaultViewModel["Item"] = item; if (item.Title.Equals("Run Hello World")) { Mat img = new Mat(200, 400, DepthType.Cv8U, 3); img.SetTo(new MCvScalar(255, 0, 0)); CvInvoke.PutText(img, "Hello world.", new System.Drawing.Point(10, 80), FontFace.HersheyComplex, 1.0, new MCvScalar(0, 255, 0)); ImageView.Source = img.ToWritableBitmap(); } else if (item.Title.Equals("Run Planar Subdivision")) { Mat img = PlanarSubdivisionExample.DrawSubdivision.Draw(400, 30); ImageView.Source = img.ToWritableBitmap(); } else if (item.Title.Equals("Run Face Detection")) { Mat img = await LoadImage(@"Assets\Images\lena.jpg"); List<Rectangle> faces = new List<Rectangle>(); List<Rectangle> eyes = new List<Rectangle>(); long detectionTime; FaceDetection.DetectFace.Detect(img, "haarcascade_frontalface_default.xml", "haarcascade_eye.xml", faces, eyes, false, false, out detectionTime); foreach (Rectangle face in faces) CvInvoke.Rectangle(img, face, new Bgr(0, 0, 255).MCvScalar, 2); foreach (Rectangle eye in eyes) CvInvoke.Rectangle(img, eye, new Bgr(255, 0, 0).MCvScalar, 2); ImageView.Source = img.ToWritableBitmap(); } else if (item.Title.Equals("Run Pedestrian Detection")) { Mat img = await LoadImage(@"Assets\Images\pedestrian.png"); Mat gray = new Mat(); CvInvoke.CvtColor(img, gray, ColorConversion.Bgr2Gray); long detectionTime; Rectangle[] pedestrians = PedestrianDetection.FindPedestrian.Find(gray, false, false, out detectionTime); foreach (Rectangle pedestrian in pedestrians) { CvInvoke.Rectangle(img, pedestrian, new MCvScalar(0, 0, 255) ); } ImageView.Source = img.ToWritableBitmap(); } }