Ejemplo n.º 1
0
 public void TryFillHoles(Matrix <float> normalizedImageMatrix, IBoundarySearcher boundarySearcher, ColorInterpolatorBase colorInterpolator)
 {
     m_missingPixels.All(missingPixel =>
     {
         normalizedImageMatrix[missingPixel.Row, missingPixel.Column] = ImageColorsService.InterpolateColor(missingPixel, boundarySearcher.BoundaryPixels, colorInterpolator);
         return(true);
     });
 }
Ejemplo n.º 2
0
 public HoleFiller Initialize(IMissingPixelsService missingPixelsService, IBoundarySearcher boundarySearcher, string imageUri)
 {
     m_imageUri = imageUri;
     InitializeBoundarySearcher(boundarySearcher);
     InitializeMissingPixelsService(missingPixelsService);
     InitializeImageMatrix();
     return(this);
 }
Ejemplo n.º 3
0
        public bool TryAddMissingPixel(IBoundarySearcher boundarySearcher, ImageRegion imageRegion, Matrix <float> normalizedImageMatrix, int column, int row, float color)
        {
            bool foundMissingPixel = false;

            if (color == ImageColorsService.WHITE)
            {
                Pixel missing = new Pixel(imageRegion, column, row)
                {
                    Color = color,
                };

                m_missingPixels.Add(missing);
                foundMissingPixel = true;
                boundarySearcher.TryAddBoundaryPixels(imageRegion, normalizedImageMatrix, column, row);
            }
            return(foundMissingPixel);
        }
Ejemplo n.º 4
0
        private void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    m_boundarySearher?.Dispose();
                    m_missingPixelsService?.Dispose();
                    m_normalizedImageMatrix?.Dispose();
                }

                m_boundarySearher       = null;
                m_missingPixelsService  = null;
                m_normalizedImageMatrix = null;
                disposedValue           = true;
            }
        }
Ejemplo n.º 5
0
 private void InitializeBoundarySearcher(IBoundarySearcher boundarySearcher)
 {
     m_boundarySearher = boundarySearcher;
     m_boundarySearher.Initialize();
 }