public void EdgeDetect()
        {
            new Thread(() =>
            {
                this.undoRedo.PushToUndoStack((Bitmap)this.model.Image.Clone());
                this.undoRedo.ClearRedoStack();

                ConvFilters.EdgeDetectConvolution(this.model.Image, 2, 0);
                this.view.RedrawInvoker();
            }).Start();
        }
        public void Sharpen()
        {
            new Thread(() =>
            {
                this.undoRedo.PushToUndoStack((Bitmap)this.model.Image.Clone());
                this.undoRedo.ClearRedoStack();

                ConvFilters.Sharpen(this.model.Image, (int)this.filterParam);
                this.view.RedrawInvoker();
            }).Start();
        }
Example #3
0
        public SeamCarving(Bitmap b)
        {
            this.edge     = (Bitmap)b.Clone();
            this.m_bitmap = (Bitmap)b.Clone();
            //SimpleFilters.GrayscaleMarshaling(this.edge);
            //SimpleFilters.EdgeDetectHorizontalUnsafe(this.edge);

            this.energyMap    = new int[this.m_bitmap.Height, this.m_bitmap.Width];
            this.bitmapMatrix = new Pixel24b[this.m_bitmap.Height, this.m_bitmap.Width];
            BasicFilters.GrayscaleMarshal(this.edge);
            ConvFilters.EdgeDetectConvolution(this.edge, 1, 0);
        }