1221009_citra_4

17
DIGITAL IMAGE PROCESSING UNIVERSITAS INTERNATIONAL BATAM 2014

Upload: thursy-rienda-anag-thoyyibb

Post on 11-Nov-2015

219 views

Category:

Documents


1 download

DESCRIPTION

Tugas digital image processing

TRANSCRIPT

DIGITAL IMAGE PROCESSING

Digital image processing

UNIVERSITAS INTERNATIONAL BATAM 2014

1THRESHOLD HUE & SATURATIONEDGE DETECTION

DIGITAL IMAGE PROCESSING

AREA ESTIMATIONFILTER

RGB, BINARY, GRAYSCALE, HSV

2The Ingredients !!!Ms ChartDigunakan untuk menampilkan histogram dari aplikasi yang digunakan.EmguCVEmgu CV adalah cross platform yang terdapat dalam .NET untuk library pengolahan citra pada Intel OpenCV. EmguCV ini mengikuti fungsi yang terdapat pada OpenCV yang diambil dari .NET oleh sebab itu compatible dengan bahasa pemrograman C#, VB, VC++, IronPython dan sebagainya.Visual studioSebenarnya, aplikasi ini dibutuhkan karena pada dasarnya pemrograman menggunakan aplikasi ini dengan Bahasa C#using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Emgu.CV.UI;using Emgu.CV;using Emgu.CV.Structure;using Emgu.CV.CvEnum;using Emgu.CV.Util;using Emgu.CV.ML;using System.Media;Capture capture = new Capture();using System.Windows.Forms. DataVisualization.Charting;

Using brigthness and contrast transformation

Area Estimation using Binary ImageCred = ((G *(red - P))+ P) +Convert.ToInt16(b);Cgreen= ((G *(green - P))+P)+Convert.ToInt16(b);Cblue = ((G *(blue - P))+ P)+Convert.ToInt16(b); if (Cblue > 255) { Cblue = 255; } else if (Cblue < 0) { Cblue = 0; } if (Cgreen > 255){ Cgreen = 255; } else if (Cgreen < 0){ Cgreen = 0;} if (Cred > 255) { Cred = 255; } else if (Cred < 0) { Cred = 0; } if (P == 0 ){ img.Data[y, x, 0] = ImgColor.Data[y, x, 0]; img.Data[y, x, 1] = ImgColor.Data[y, x, 1]; img.Data[y, x, 2] = ImgColor.Data[y, x, 2];} Else {img.Data[y, x, 0] = Convert.ToByte(Cblue); img.Data[y, x, 1] = Convert.ToByte(Cgreen); img.Data[y, x, 2] = Convert.ToByte(Cred);}}}Contrast adalah proses pengaturan nilai range interval pada setiap nilai derajat keabuanBrightness adalah tingkat kecerahan4

Area Estimation using Binary ImageUse transformation from RGB image to Grayscale image and then to binary image

for (int y = 0; y < img.Height; y++){for (int x = 0; x < img.Width; x++) { blue = img.Data[y, x, 0]; green = img.Data[y, x, 1]; red = img.Data[y, x, 2]; gray = (blue + green + red) / 3;ImgGray.Data[y, x, 0] =(byte)gray;}}if (gray < threshold){ImgBinary.Data[y, x, 0] = 0;}Else{ImgBinary.Data[y, x, 0] = 255;}

5Estimation...Mendeteksi luas lingkaran

Menghitung jari-jari

Menghitung keliling lingkaran2rMenghitung posisi titik tengah dan memberikan tanda

(Xi,Yi)(Xf,Yf)(Xi,Yi)(Xf,Yf)X = Xf Xi midX= Xf X/2 Y = Yf Yi midY= Yf Y/2

if (ImgBinary.Data[y, x, 0] == 255) {xpos[i] = x; ypos[i] = y; i = i + 1; }}}if (i != 0) { i = i - 1; }else { i = 0; } temp11 = (xpos[i] - xpos[0]) / 2; temp12 = ((ypos[i] - ypos[0])) / 2; int xt = xpos[i] - temp11; int yt = ypos[i] - temp12; double luas = i; double r = (Math.Sqrt(luas/Math.PI)); double keliling = (2*r* Math.PI);center.X = xt;center.Y = yt;ImgBinary.Draw(new CircleF(center, 1), new Gray(), 2);

Conclusions...Contrast apabila contrast tinggi, kurva lebar dan sebaliknya.Brightness tinggi jumlah pixel putih lebih banyak (255).Threshold optimum 40-199, jika threshold terlalu besar maka pixel yang dihasilkan berwarna hitam dan sebaliknyaContrast, brightness dan brightness ikut mempengaruhi estimasi luas lingkaran. Jika estimasi luas tidak sesuai titik tengah juga tidak berada di tengah objek.

Color Filtering using HSV ImageHue adalah suatu ukuran panjang gelombang yang terdapat pada warna dominan yang diterima oleh penglihatanSaturation adalah ukuran banyaknya cahaya putih yang bercampur pada hue.Value banyaknya cahaya yang diterima oleh mata tanpa memperdulikan warna

RGB to HSV transformationNormalitation

Calculationmin = Math.Min(r, g);min = Math.Min(min, b);max = Math.Max(r, g);max = Math.Max(max, b);v = max;delta = max - min;if (max != 0){s = delta / max;}else {s = 0; h = 0;}

if (max == r){ h=(g - b) / delta;}else if (max == g){ h=2+((b-r)/delta);}else{ h=2+((r-g)/delta);h *= 60;}if (h < 0){ h += 360;} ImgHsv.Data[y, x, 0]= (byte) (h*0.708);ImgHsv.Data[y, x, 1]= (byte)(s);ImgHsv.Data[y, x, 2]= (byte)(v);9

if (h > THue && s < TSat){ImgBinary.Data[y, x, 0] = 255;} else{ImgBinary.Data[y, x, 0] = 0;}}}}HSV to Binary transformation

Conclusions...HSV merupakan ruang warna yang cocok untuk mengidentifikasi warna-warna dasar, dan dapat menoleransi perubahan intensitas cahaya.Hue semakin besar intensitas warna biru berkurang namun karena saturation nol, binary semua hitam.Saturation jika saturation nol binary akan berwarna hitam, selain itu (>0) tidak ada perubahan yang signifikan. Hue & Saturation membentuk citra asli, semakin ditingkatkan hue seemakin jelas karena jumlah pixel hitam meningkat

KonvulasiImage EnhancementKonvolusi (convolution) adalah sebuah proses dimana citra dimanipulasi dengan menggunakan eksternal mask / subwindows untuk menghasilkan citra yang baru.Image Enhancement using Filter and Edge detectionMelalui operasi pemrosesan awal inilah kualitas citra diperbaiki (menghilangkan noise, kabur, gambar terlalu gelap) sehingga citra dapat digunakan untuk aplikasi lebih lanjut, misalnya untuk aplikasi pengenalan (recognition) objek di dalam citra.Place Logo Here,Otherwise Delete BoxArea ProcessingArea Process yaitu algoritma yang digunakan untuk memanipulasi citra pada pixel utama dengan melibatkan pixel tetangga. Yang termasuk pada area process yaitu: 1.Konvolusi, yang terdiri dari : Embossing, Blurring, Sharpening, Edge Detection. 2.Filtering, yang terdiri dari : Median, Average, Maximum, MinimumFilteringFiltering tanpa menggunakan ekternal mask tetapi hanya menggunakan pixel tetangga untuk mendapatkan pixel yang baru.

RobertDisebut juga DPCM (Differential Pulse Code Modulation). menggunakan teknik differensial dengan arah horizontal dan vertical, dan dilanjutkan dengan konversi binary.GradientIstilah gradien atau gradien warna yang digunakan untuk campuran bertahap warna dari nilai rendah ke nilai tinggi. Edge detection Deteksi tepi yaitu proses menentukan lokasi titik-titik yang merupakan tepi objek

PrewittMetode ini menggunakan HPF (High Pass Filter) dan juga menggunakan fungsi Laplacian yang digunakan untuk membangkitkan HPF itu sendiri.

{ImgResult = ImgGray.Canny(new Gray(0), new Gray(255)) ; }Canny Merupakan model edge detection yang hanya menggunakan 2 warna yaitu hitam dan putih

First Orde DerivativeTeknik ini menggunakan perbedaan antara satu piksel dengan piksel tetangganya sebagai prinsip.

Laplacian (Second Order Derivative)Teknik turunan kedua ini merupakan teknik yang sensitive terhadap noise

MinPiksel dapat diperoleh dari nilai terendah untuk minimum filter FilterAveragePixel baru dapat diperoleh dari penjumlahan pixel lalu dibagi oleh jumlah pixel tersebutMaxPiksel dapat diperoleh dari nilai tertinggi untuk maksimum filter yaitu

OpenFileDialog openfile = new OpenFileDialog();private void button1_Click(object sender, EventArgs e){openfile.Filter = "All files (*.jpg)|*.jpg";if (openfile.ShowDialog() == DialogResult.OK){Image ImgColor = new Image (openfile.FileName);Image resizedImage = ImgColor.Resize(320, 240, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR);imageBox1.Image = resizedImage;} reset();imageBox2.Image =ImgResult ; }

Capture capture = new Capture("c.flv");ImgColor = capture.QueryFrame();Penggunaan minimum filter memberikan kesan gelap pada gambar, average filter memberikan kesan buram pada gambar, maximum filter meberikan penonjolan pada piksel putih. Semakin besar maksimum filter yang digunakan warna putih semakin mencolok, dan memberikan kesan terang pada gambar.Penggunaan edge detection memberikan ciri khas berdasarkan setiap tekniknya. Teknik gradient memberikan deteksi tepi yang akurat, dan menggunakan garis putih tipis untuk mewakili tepi yang terdeteksi. Teknik Robert memberikan tekstur dan kesan seperti ukiran di lempeng aluminium, deteksi tepi sudah akurat dan memberikan tekstur pada gambar yang tertangkap. Teknik Prewitt memberikan deteksi yang akurat, teknik ini menggunakan garis putih tebal untuk mewakili tepi yang terdeteksi sehingga memberi kesan tegas dalam gambar. Teknik Canny merupakan deteksi tepi yang paling akurat dengan menggunakan garis putih untuk mewakili tepi yang terdeteksi. Walau garis yang dihasilkan tidak setegas Prewitt, teknik ini banyak dipilih karena keakuratannya dan kemampuannya mendeteksi gelap terang gambar. First derivative menghasilkan gambar yang mirip dengan gradient, dan Second derivative menghasilkan gambar yang mirip dengan First derivative, hanya saja seperti diberi garis bayang tipis, sehingga gambar yang dihasilkan pun lebih lemah dan rentan noise. Conclusions...Start

Image, Threshold, Contrast Brightness

Transform RGB image to Grayscale image

Transform Grayscale image to binary image

Mendeteksi luas lingkaran dengan menghitung piksel berwarna putih

Menghitung jari-jari

Menghitung keliling lingkaran

Menghitung titik tengah

STOP

Pause

Yes

Histogram

Jari-jari, luas, keliling, titik tengah, tanda posisi titik tengah, data RGB

No

Start

RGB Image, Threshold hue, Threshold saturation

Start

RGB Image

Start

Video in debug folder