Xamarin: Difference between revisions

From Yggenyk
Jump to navigation Jump to search
Line 16: Line 16:
* [https://fiddle.skia.org/named/ Named Fiddles]
* [https://fiddle.skia.org/named/ Named Fiddles]


<source lang="cpp">
     using (new Transform(canvas))
     using (new Transform(canvas))
     {
     {
Line 36: Line 37:
         }
         }
     }
     }
 
</source>
<source lang="cpp">
     // Transform point from current transformation matrix to original grid
     // Transform point from current transformation matrix to original grid
     var originalPoints = new[] { new SKPoint(0, 0) };
     var originalPoints = new[] { new SKPoint(0, 0) };
Line 46: Line 48:
     var snappedPixelPointsInCurrentTransformationMatrix = new[] { new SKPoint(0, 0) };
     var snappedPixelPointsInCurrentTransformationMatrix = new[] { new SKPoint(0, 0) };
     inverseMatrix.MapPoints(snappedPixelPointsInCurrentTransformationMatrix, originalPoints);
     inverseMatrix.MapPoints(snappedPixelPointsInCurrentTransformationMatrix, originalPoints);
</source>


==Android services==
==Android services==

Revision as of 13:42, 30 January 2018


The Accord.NET Image Processing and Machine Learning Framework

Accord.NET is a framework for scientific computing in .NET. The framework is comprised of multiple librares encompassing a wide range of scientific computing applications, such as statistical data processing, machine learning, pattern recognition, including but not limited to, computer vision and computer audition. The framework offers a large number of probability distributions, hypothesis tests, kernel functions and support for most popular performance measurements techniques.* Accord .NET Framework

Facial Recognition

Adding Facial Recognition to Your Mobile Apps By Pierce Boggan

SkiaSharp

<source lang="cpp">

   using (new Transform(canvas))
   {
   }
   public class Transform : IDisposable
   {
       private readonly SKCanvas _canvas;
       public Transform(SKCanvas canvas)
       {
           _canvas = canvas;
           canvas.Save();
       }
       public void Dispose()
       {
           _canvas.Restore();
       }
   }

</source> <source lang="cpp">

   // Transform point from current transformation matrix to original grid
   var originalPoints = new[] { new SKPoint(0, 0) };
   var pointInCurrentTransformationMatrix = new[] { new SKPoint(0, 0) };
   canvas.TotalMatrix.MapPoints(originalPoints, pointInCurrentTransformationMatrix);
   // Transform point from original grid to current transformation matrix
   canvas.TotalMatrix.TryInvert(out var inverseMatrix);
   var snappedPixelPointsInCurrentTransformationMatrix = new[] { new SKPoint(0, 0) };
   inverseMatrix.MapPoints(snappedPixelPointsInCurrentTransformationMatrix, originalPoints);

</source>

Android services

id=siteTree