Rgb To Binary Tutorial Image Processing Dengan Visual Studio

Dalam tutorial Visual Studio kali ini akan membahas mengenai digital image processing (pengolahan gambaran digital) dengan memakai C#. Pengolahan gambaran digital dalam bahasan kali ini yaitu mengubah suatu gambaran berwarna (RGB) menjadi gambaran binary, bernilai 0 atau 1, hitam atau putih.
Berikut ini yaitu pola design form window project C#.

Dalam tutorial Visual Studio kali ini akan membahas mengenai digital image processing  RGB to Binary Tutorial Image Processing dengan Visual Studio




Untuk component yang dipakai ialah.
  • openButton - Button - untuk membuka file image
  • convertButton - Button - untuk mengubah initial image ke binary level
  • initialPicture - PictureBox - menampilkan image awal
  • convertedPicture - PictureBox - menampilkan image yang telah diubah ke grayscale
  • OpenFileDialog - obrolan window ketika mencari file image yang akan dibuka
Pada dua buah PictureBox tersebut atur Size Mode menjadi StretchImage, hal tersebut bertujuan semoga image ditampilkan secara penuh. Tambahkan code berikut untuk openButton, guna membuka file image.

FileDialog fileDialog = new OpenFileDialog();
fileDialog.ShowDialog(this);
string imageFile = fileDialog.FileName;
if (imageFile == string.Empty) return;
initialPicture.Image = Image.FromFile(imageFile);


Tambahkan class untuk menangani proses pengolahan gambaran dari RGB ke binary level. Pada tab PROJECT pilih Add Class, untuk pola ini beri nama class tersebut process. Berikut source code untuk class process.

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace toBinary
{
    class process
    {
        public bool blackWhite(Bitmap b)
        {
            BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
            int stride = bmData.Stride;
            System.IntPtr Scan0 = bmData.Scan0;
            unsafe
            {
                byte nilaiAwal = 0;
                byte* p = (byte*)(void*)Scan0;
                int nOffset = stride - b.Width * 3;
                for (int y = 0; y < b.Height; ++y)
                {
                    for (int x = 0; x < b.Width; ++x)
                    {
                        nilaiAwal = (byte)(p[0]);
                        if (nilaiAwal >= 127)
                        {
                            p[0] = p[1] = p[2] = 255;
                        }
                        else
                        {
                            p[0] = p[1] = p[2] = 0;
                        }
                        p += 3;
                    }
                    p += nOffset;
                }
            }
            b.UnlockBits(bmData);
            return true;
        }
    }
}


Tambahkan code berikut pada convertButton, untuk mengubah image awal menjadi grayscale.

process toBlackWhite = new process();
Bitmap image = new Bitmap(initialPicture.Image);
toBlackWhite.blackWhite(image);
convertedPicture.Image = image;


Untuk Build Debug dan Release, atur Properties dari Project ini untuk jalan masuk Allow unsafe code.
Sumber http://lang8088.blogspot.com/

Berlangganan Informasi Terbaru:

0 Response to "Rgb To Binary Tutorial Image Processing Dengan Visual Studio"

Posting Komentar