public PointSelect(IImageD_Provider image_provider, IPointsProvider points_provider) { IImageD_Provider provider = new ImageD_Providers.PlotPoints(image_provider, points_provider); image_provider.ImageDChanged += img => { provider.ResetSelf(); provider.GetImageD(); }; points_provider.PointsChanged += ps => { this.points = ps; provider.ResetSelf(); provider.GetImageD(); }; provider.ImageDChanged += img => { image_width = img.width; image_height = img.height; image.Source = img.ToImage().ToBitmapSource(); }; InitializeViews(); RegisterEvents(); }
public HarrisCornerDetector(IImageD_Provider image_provider) { IMatrixProvider mp_hr = new MatrixProviders.HarrisDetectorResponse(MatrixProviders.Filter.Red(image_provider)); IMatrixProvider mp_hg = new MatrixProviders.HarrisDetectorResponse(MatrixProviders.Filter.Green(image_provider)); IMatrixProvider mp_hb = new MatrixProviders.HarrisDetectorResponse(MatrixProviders.Filter.Blue(image_provider)); IMatrixProvider mp_harris = new MatrixProviders.Add(mp_hr, mp_hg, mp_hb); IPointsProvider pp_harris_filtered = new PointsProviders.LocalMaximum(mp_harris, 10 * 3.0 / (255.0 * 255.0)), pp_harris_refined = new PointsProviders.SubpixelRefinement(pp_harris_filtered, mp_harris); //pp_harris_eliminated = new PointsProviders.AdaptiveNonmaximalSuppression(pp_harris_refined, 500); this.points_provider = pp_harris_refined; }
public AdaptiveNonmaximalSuppression(IPointsProvider provider, int max_points_to_keep) { this.provider = provider; this.max_points_to_keep = max_points_to_keep; }
public SubpixelRefinement(IPointsProvider points_provider, IMatrixProvider mat_provider) { this.points_provider = points_provider; this.mat_provider = mat_provider; }
public PlotPoints(IImageD_Provider imgd_provider, IPointsProvider points_provider, double exp = 1) { this.imgd_provider = imgd_provider; this.points_provider = points_provider; this.exp = exp; }