public async void SetImageSequence(List <IImageProvider> imageProviders) { ShowProgressIndicator("Aligning frames"); SetControlsEnabled(false); _unalignedImageProviders = imageProviders; _onScreenImageProviders = _unalignedImageProviders; // Create aligned images using (ImageAligner imageAligner = new ImageAligner()) { imageAligner.Sources = _unalignedImageProviders; imageAligner.ReferenceSource = _unalignedImageProviders[0]; _alignedImageProviders = await imageAligner.AlignAsync(); } // Create on-screen bitmap for rendering the image providers IImageProvider imageProvider = _onScreenImageProviders[0]; ImageProviderInfo info = await imageProvider.GetInfoAsync(); int width = (int)info.ImageSize.Width; int height = (int)info.ImageSize.Height; _foregroundImage = new WriteableBitmap(width, height); _backgroundImage = new WriteableBitmap(width, height); // Render the first frame of sequence await Render(0, true); InitializeAnimatedAreaBasedOnImageDimensions(width, height); SetControlsEnabled(true); HideProgressIndicator(); }
public async Task PrepareImageSequence(List <IImageProvider> imageProviders) { _unalignedImageProviders = imageProviders; _onScreenImageProviders = _unalignedImageProviders; IAsyncImageResource asyncImageResource = (IAsyncImageResource)_unalignedImageProviders[0]; var info = await asyncImageResource.LoadAsync(); _unalignedImageWidth = (int)info.ImageSize.Width; _unalignedImageHeight = (int)info.ImageSize.Height; using (ImageAligner imageAligner = new ImageAligner()) { imageAligner.Sources = _unalignedImageProviders; imageAligner.ReferenceSource = _unalignedImageProviders[0]; try { _alignedImageProviders = await imageAligner.AlignAsync(); asyncImageResource = (IAsyncImageResource)_unalignedImageProviders[0]; info = await asyncImageResource.LoadAsync(); _alignedImageWidth = (int)info.ImageSize.Width; _alignedImageHeight = (int)info.ImageSize.Height; await EnableAlign(); } catch (Exception) { // If align fails, fail silently but don't enable the align button on UI } } }
public HandMouse(ImageAligner aligner, HandMouse.Settings settings) { base.\u002Ector(); HandMouse handMouse1 = this; this.thresholdedImage = (object) null; HandMouse handMouse2 = this; throw new NoClassDefFoundError("com.googlecode.javacv.cpp.opencv_core$CvMemStorage"); }
public void CreatesAlignerGraph() { var bitmap = new Bitmap(new Size(10, 10), ColorMode.Argb8888); using (var source1 = new BitmapImageSource(bitmap)) using (var source2 = new BitmapImageSource(bitmap)) using (var source3 = new BitmapImageSource(bitmap)) using (var aligner = new ImageAligner()) { aligner.Sources = new[] { source1, source2, source3 }; string result = aligner.ToDotString("CreatesAlignerGraph"); Assert.AreEqual(2, new Regex(Regex.Escape(NodeId(source1))).Matches(result).Count); Assert.AreEqual(2, new Regex(Regex.Escape(NodeId(source2))).Matches(result).Count); Assert.AreEqual(4, new Regex(Regex.Escape(NodeId(aligner))).Matches(result).Count); } }
public async void SetImageSequence(List<IImageProvider> imageProviders) { ShowProgressIndicator("Aligning frames"); SetControlsEnabled(false); _unalignedImageProviders = imageProviders; _onScreenImageProviders = _unalignedImageProviders; // Create aligned images using (ImageAligner imageAligner = new ImageAligner()) { imageAligner.Sources = _unalignedImageProviders; imageAligner.ReferenceSource = _unalignedImageProviders[0]; _alignedImageProviders = await imageAligner.AlignAsync(); } // Create on-screen bitmap for rendering the image providers IImageProvider imageProvider = _onScreenImageProviders[0]; ImageProviderInfo info = await imageProvider.GetInfoAsync(); int width = (int)info.ImageSize.Width; int height = (int)info.ImageSize.Height; _foregroundImage = new WriteableBitmap(width, height); _backgroundImage = new WriteableBitmap(width, height); // Render the first frame of sequence await Render(0, true); InitializeAnimatedAreaBasedOnImageDimensions(width, height); SetControlsEnabled(true); HideProgressIndicator(); }
public HandMouse(ImageAligner aligner) : this(aligner, new HandMouse.Settings()) { }
public virtual void setSettings(ImageAligner.Settings settings) { this.settings = (GNImageAligner.Settings) settings; }
internal DotVisualizer(string graphName, ImageAligner imageAligner) { Node(imageAligner); DotString = String.Format(graphFormatString, graphName, m_dotString); }
public static string ToDotString(this ImageAligner imageAligner, string graphName = "graph") { var dotGen = new DotVisualizer(graphName, imageAligner); return(dotGen.DotString); }
public async Task PrepareImageSequence(List<IImageProvider> imageProviders) { _unalignedImageProviders = imageProviders; _onScreenImageProviders = _unalignedImageProviders; IAsyncImageResource asyncImageResource = (IAsyncImageResource)_unalignedImageProviders[0]; var info = await asyncImageResource.LoadAsync(); _unalignedImageWidth = (int)info.ImageSize.Width; _unalignedImageHeight = (int)info.ImageSize.Height; using (ImageAligner imageAligner = new ImageAligner()) { imageAligner.Sources = _unalignedImageProviders; imageAligner.ReferenceSource = _unalignedImageProviders[0]; try { _alignedImageProviders = await imageAligner.AlignAsync(); asyncImageResource = (IAsyncImageResource)_unalignedImageProviders[0]; info = await asyncImageResource.LoadAsync(); _alignedImageWidth = (int)info.ImageSize.Width; _alignedImageHeight = (int)info.ImageSize.Height; await EnableAlign(); } catch (Exception) { // If align fails, fail silently but don't enable the align button on UI } } }