mirror of https://github.com/opencv/opencv.git
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
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); |
|
//} |
|
} |
|
} |