Open Source Computer Vision Library https://opencv.org/
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.

70 lines
2.5 KiB

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using OpenCVXaml.Resources;
using System.Windows.Media.Imaging;
using OpenCVComponent;
namespace OpenCVXaml
{
public partial class MainPage : PhoneApplicationPage
{
private OpenCVLib m_opencv = new OpenCVLib();
// Constructor
public MainPage()
{
InitializeComponent();
// Sample code to localize the ApplicationBar
//BuildLocalizedApplicationBar();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
if (Preview.Source != null)
{
ProcessButton.IsEnabled = false;
// Get WriteableBitmap. ImageToModify is defined in MainPage.xaml
WriteableBitmap bitmap = new WriteableBitmap(Preview.Source as BitmapSource);
// call OpenCVLib to convert pixels to grayscale. This is an asynchronous call.
var pixels = await m_opencv.ProcessAsync(bitmap.Pixels, bitmap.PixelWidth, bitmap.PixelHeight);
// copy the pixels into the WriteableBitmap
for (int x = 0; x < bitmap.Pixels.Length; x++)
{
bitmap.Pixels[x] = pixels[x];
}
// Set Image object, defined in XAML, to the modified bitmap.
Preview.Source = bitmap;
ProcessButton.IsEnabled = true;
}
}
// Sample code for building a localized ApplicationBar
//private void BuildLocalizedApplicationBar()
//{
// // Set the page's ApplicationBar to a new instance of ApplicationBar.
// ApplicationBar = new ApplicationBar();
// // Create a new button and set the text value to the localized string from AppResources.
// ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("/Assets/AppBar/appbar.add.rest.png", UriKind.Relative));
// appBarButton.Text = AppResources.AppBarButtonText;
// ApplicationBar.Buttons.Add(appBarButton);
// // Create a new menu item with the localized string from AppResources.
// ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(AppResources.AppBarMenuItemText);
// ApplicationBar.MenuItems.Add(appBarMenuItem);
//}
}
}