コード例 #1
0
        private void stretchToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenedPicture st = new OpenedPicture(picture.Image, "Stretch of " + _name, _parent);

            st.MdiParent = _parent;
            Bitmap             img    = new Bitmap(picture.Image);
            Image <Gray, Byte> strech = new Image <Gray, byte>(img);

            double[] minValue, maxValue;
            Point[]  minLocation;
            Point[]  maxLocation;
            strech.Mat.MinMax(out minValue, out maxValue, out minLocation, out maxLocation);
            for (int i = strech.Rows - 1; i >= 0; i--)
            {
                for (int j = strech.Cols - 1; j >= 0; j--)
                {
                    double newVal = (strech[i, j].Intensity - minValue.First()) * ((255 / maxValue.First()) - minValue.First());
                    strech[i, j] = new Gray(newVal);
                }
            }

            st.picture.Image = strech.Bitmap;
            st.Show();
            st.histogramToolStripMenuItem1_Click(sender, e);
        }
コード例 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenedPicture postProc = new OpenedPicture(pictureBox1.Image, "Threshold RGB", _parent);

            postProc.MdiParent = _parent;
            Bitmap img = new Bitmap(pictureBox1.Image);

            postProc.picture.Image = img;
            postProc.Show();
        }
コード例 #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenedPicture postProc = new OpenedPicture(pictureBox1.Image, "Posterize", _parent);

            postProc.MdiParent = _parent;
            Bitmap      img   = new Bitmap(pictureBox1.Image);
            MagickImage image = new MagickImage(img);

            postProc.picture.Image = image.ToBitmap();
            postProc.Show();
        }
コード例 #4
0
        private void negacjaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenedPicture neg = new OpenedPicture(picture.Image, "Negation of " + _name, _parent);

            neg.MdiParent = _parent;
            Bitmap            img      = new Bitmap(picture.Image);
            Image <Bgr, Byte> negation = new Image <Bgr, byte>(img);

            negation          = negation.Not();
            neg.picture.Image = negation.Bitmap;
            neg.Show();
        }
コード例 #5
0
        private void equaliseToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenedPicture eq = new OpenedPicture(picture.Image, "Eqalization of " + _name, _parent);

            eq.MdiParent = _parent;
            Bitmap             img      = new Bitmap(picture.Image);
            Image <Gray, Byte> equalize = new Image <Gray, byte>(img);

            equalize._EqualizeHist();
            eq.picture.Image = equalize.Bitmap;
            eq.Show();
            eq.histogramToolStripMenuItem1_Click(sender, e);
        }
コード例 #6
0
        private async void skeletonizeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenedPicture postProc = new OpenedPicture(picture.Image, "Skletonize of " + _name, _parent);

            postProc.MdiParent       = _parent;
            postProc.picture.Visible = false;
            postProc.loading.Visible = true;
            postProc.Show();
            Bitmap img = new Bitmap(picture.Image);

            img = await Task.Run(() => Methods.Skelatanize(img));

            postProc.loading.Visible = false;
            postProc.picture.Visible = true;
            postProc.picture.Image   = img;
        }