Ejemplo n.º 1
0
        private void BitToolStripMenuItem6_Click(object sender, EventArgs e)
        {
            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);

            b = OlahCitra.imageDepth(b, 7, progressBar1);
            pbOutput.Image = b;
        }
Ejemplo n.º 2
0
        private void average5x5ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int[,] kernel = { { 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1 } };
            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);

            pbOutput.Image = OlahCitra.filter(kernel, b, 25, progressBar1, 2);
        }
Ejemplo n.º 3
0
        private void erotionToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            int[,] kernel = { { 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1 }, { 1, 1, 1, 1, 1, 1 } };
            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);

            pbOutput.Image = OlahCitra.gsErotion(kernel, b, progressBar1);
        }
Ejemplo n.º 4
0
        private void LuminousityToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);

            b = OlahCitra.grayscaleLuminance(b, progressBar1);
            pbOutput.Image = b;
        }
Ejemplo n.º 5
0
        private void AverageToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);

            b = OlahCitra.grayscaleAverage(b, progressBar1);
            pbOutput.Image = b;
        }
Ejemplo n.º 6
0
        private void ContrastToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Bitmap        copy = new Bitmap((Bitmap)this.pbInput.Image);
            FrmBrightness fb   = new FrmBrightness();

            OlahCitra.keBrightness(copy, fb.getBrightness());
            this.pbOutput.Image = copy;
        }
Ejemplo n.º 7
0
        private void openingToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int[,] kernelDilation = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
            int[,] kernelErotion  = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);

            pbOutput.Image = OlahCitra.opening(kernelDilation, kernelErotion, b, progressBar1);
        }
Ejemplo n.º 8
0
        private void floydSteinbergToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int[,] palletteColor = new int[, ] {
                { 0, 0, 0 }, { 255, 0, 0, }, { 0, 255, 0 }, { 0, 0, 255 },
                { 255, 255, 0 }, { 0, 255, 255 }, { 255, 0, 255 }, { 255, 255, 255 }
            };

            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);
            int    merah, hijau, biru;
            int    errorR, errorG, errorB;

            int[] warnaTerdekat;
            int[] errorColor = new int[3];
            progressBar1.Visible = true;
            for (int i = 1; i <= b.Width - 2; i++)
            {
                for (int j = 0; j <= b.Height - 2; j++)
                {
                    merah         = b.GetPixel(i, j).R;
                    hijau         = b.GetPixel(i, j).G;
                    biru          = b.GetPixel(i, j).B;
                    warnaTerdekat = OlahCitra.warnaTerdekat(merah, hijau, biru);
                    errorR        = merah - warnaTerdekat[0];
                    errorG        = hijau - warnaTerdekat[1];
                    errorB        = biru - warnaTerdekat[2];
                    errorColor[0] = OlahCitra.truncate(errorR);
                    errorColor[1] = OlahCitra.truncate(errorG);
                    errorColor[2] = OlahCitra.truncate(errorB);

                    //hitung pixel koordinat i+1, j
                    merah = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i + 1, j).R + (7.0 / 16.0) * errorColor[0]));
                    hijau = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i + 1, j).G + (7.0 / 16.0) * errorColor[1]));
                    biru  = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i + 1, j).B + (7.0 / 16.0) * errorColor[2]));
                    b.SetPixel(i + 1, j, Color.FromArgb(merah, hijau, biru));

                    //hitung pixel koordinat i-1, j+1
                    merah = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i - 1, j + 1).R + (3.0 / 16.0) * errorColor[0]));
                    hijau = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i - 1, j + 1).G + (3.0 / 16.0) * errorColor[1]));
                    biru  = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i - 1, j + 1).B + (3.0 / 16.0) * errorColor[2]));
                    b.SetPixel(i - 1, j + 1, Color.FromArgb(merah, hijau, biru));

                    //hitung pixel koordinat i, j+1
                    merah = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i, j + 1).R + (5.0 / 16.0) * errorColor[0]));
                    hijau = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i, j + 1).G + (5.0 / 16.0) * errorColor[1]));
                    biru  = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i, j + 1).B + (5.0 / 16.0) * errorColor[2]));
                    b.SetPixel(i, j + 1, Color.FromArgb(merah, hijau, biru));

                    //hitung pixel koordinat i+1, j+1
                    merah = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i + 1, j + 1).R + (1.0 / 16.0) * errorColor[0]));
                    hijau = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i + 1, j + 1).G + (1.0 / 16.0) * errorColor[1]));
                    biru  = OlahCitra.truncate(Convert.ToInt32(b.GetPixel(i + 1, j + 1).B + (1.0 / 16.0) * errorColor[2]));
                    b.SetPixel(i + 1, j + 1, Color.FromArgb(merah, hijau, biru));
                }
                progressBar1.Value = Convert.ToInt16(100 * (i + 1) / b.Width);
            }
            pbOutput.Image       = b;
            progressBar1.Visible = false;
        }
Ejemplo n.º 9
0
        private void gaussianBlurToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int[,] kernel = { { 1, 2, 1 }, { 2, 4, 2 }, { 1, 2, 1 } };
            Bitmap b                   = new Bitmap((Bitmap)this.pbInput.Image);
            int    divider             = 16;
            int    startFromCoordinate = 1;

            pbOutput.Image = OlahCitra.filter(kernel, b, divider, progressBar1, startFromCoordinate);
        }
Ejemplo n.º 10
0
        private void sharpenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int[,] kernel = { { 0, -1, 0 }, { -1, 5, -1 }, { 0, -1, 0 } };
            Bitmap b                   = new Bitmap((Bitmap)this.pbInput.Image);
            int    divider             = 1;
            int    startFromCoordinate = 1;

            pbOutput.Image = OlahCitra.filter(kernel, b, divider, progressBar1, startFromCoordinate);
        }
Ejemplo n.º 11
0
        private void unsharpMasking5x5ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int[,] kernel = { { 1, 4, 6, 4, 1 }, { 4, 16, 24, 16, 4 }, { 6, 24, -476, 24, 6 }, { 4, 16, 24, 16, 4 }, { 1, 4, 6, 4, 1 } };
            Bitmap b                   = new Bitmap((Bitmap)this.pbInput.Image);
            int    divider             = -256;
            int    startFromCoordinate = 2;

            pbOutput.Image = OlahCitra.filter(kernel, b, divider, progressBar1, startFromCoordinate);
        }
Ejemplo n.º 12
0
        private void LogBrightnessToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FrmLogBrightness flb = new FrmLogBrightness();

            flb.ShowDialog();

            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);
            int    nilaiBrightness = Convert.ToInt32(flb.hScrlBrightness.Value.ToString());

            b = OlahCitra.keLogBrightness(b, nilaiBrightness, progressBar1);
            pbOutput.Image = b;
        }
Ejemplo n.º 13
0
        private void GammaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FrmGamma fg = new FrmGamma();

            fg.ShowDialog();

            Bitmap b          = new Bitmap((Bitmap)this.pbInput.Image);
            int    nilaiGamma = Convert.ToInt32(fg.hScrlGamma.Value.ToString());

            b = OlahCitra.keGammaCorrection(b, nilaiGamma, progressBar1);
            pbOutput.Image = b;
        }
Ejemplo n.º 14
0
        private void BrightnessContrastToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (pbInput.Image == null)
            {
                MessageBox.Show("Citra belum ada!");
            }
            else
            {
                Bitmap        b  = new Bitmap((Bitmap)this.pbInput.Image);
                FrmBrightness fb = new FrmBrightness();
                fb.ShowDialog();

                // FYI: koding dibawah dijalankan setelah form Brightness ditutup.
                int nilaiBrightness = Convert.ToInt32(fb.tbBrightness.Text);
                int nilaiContrast   = Convert.ToInt32(fb.tbContrast.Text);
                b = OlahCitra.keBrightness(b, nilaiBrightness);
                pbOutput.Image = OlahCitra.keContrast(b, nilaiContrast);
            }
        }
Ejemplo n.º 15
0
        private void averageDenoisingToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog folderDlg = new FolderBrowserDialog();

            folderDlg.ShowNewFolderButton = true;
            if (folderDlg.ShowDialog() == DialogResult.OK)
            {
                Environment.SpecialFolder root = folderDlg.RootFolder;
            }
            List <Image> pictureList = new List <Image>();

            foreach (string item in Directory.GetFiles(folderDlg.SelectedPath, "*.jpg", SearchOption.AllDirectories))
            {
                Image _image = Image.FromFile(item);
                pictureList.Add(_image);
            }

            pbInput.Image  = pictureList[0];
            pbOutput.Image = OlahCitra.noiseReducer(pictureList, progressBar1);
        }
Ejemplo n.º 16
0
        private void nearest8ColorsToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int [] baru;
            Bitmap b = new Bitmap((Bitmap)this.pbInput.Image);

            this.pbOutput.Image  = b;
            progressBar1.Visible = true;
            for (int i = 0; i < b.Width; i++)
            {
                for (int j = 0; j < b.Height; j++)
                {
                    Color c1 = b.GetPixel(i, j);
                    baru = OlahCitra.warnaTerdekat(c1.R, c1.G, c1.B);
                    b.SetPixel(i, j, Color.FromArgb(baru[0], baru[1], baru[2]));
                }
                progressBar1.Value = Convert.ToInt16(100 * (i + 1) / b.Width);
            }
            progressBar1.Visible = false;
            this.pbOutput.Image  = b;
        }
Ejemplo n.º 17
0
        private void InversToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Bitmap b = new Bitmap((Bitmap)pbInput.Image);

            pbOutput.Image = OlahCitra.keInvers(b);
        }