Universitas International Batam 2014: Digital Image Processing
Universitas International Batam 2014: Digital Image Processing
Universitas International Batam 2014: Digital Image Processing
DIGITAL
IMAGE
PROCESSING
EDGE
DETECTION
AREA
ESTIMATION
RGB, BINARY,
GRAYSCALE,
HSV
FILTER
THRESHOLD
HUE &
SATURATION
using System.Windows.Forms.
DataVisualization.Charting;
Capture capture = new Capture();
using
using
using
using
using
using
using
using
using
using
using
using
using
using
using
Emgu.CV.UI;
Emgu.CV;
Emgu.CV.Structure;
Emgu.CV.CvEnum;
Emgu.CV.Util;
Emgu.CV.ML;
System.Media;
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
Area Estimation
using Binary Image
Using brigthness and contrast
transformation
Contrast adalah proses pengaturan
nilai range interval pada setiap nilai
derajat keabuan
k o G ( ki P ) P
Brightness
kecerahan
k k b
o
adalah
tingkat
Area Estimation
using Binary Image
Use transformation from RGB
image to Grayscale image and
then to binary image
f1R ( x, y ) f1G ( x, y ) f1B ( x, y )
f o ( x, y )
3
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;}}
I bin ( x, y ) {
I G ( x , y ) T
255 IG ( x , y ) T
Estimation...
Mendeteksi
lingkaran2
Luas r
luas
if (ImgBinary.Data[y, x, 0] == 255)
{xpos[i] = x;
ypos[i] = y;
i = i + 1; }}}
Menghitung jari-jari
Luas
r
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);
Menghitung
keliling
lingkaran
2r
Menghitung
posisi
(X
,Y
)
(X ,Y ) titik
tengah
dan
memberikan tanda
i
(Xf,Yf)
X = Xf Xi midX= Xf X/2
Y = Yf Yi midY= Yf Y/2
(Xf,Yf)
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 40199, jika threshold terlalu
besar maka pixel yang
dihasilkan
berwarna
hitam dan sebaliknya
Contrast,
brightness
dan
brightness
ikut
mempengaruhi estimasi
luas
lingkaran.
Jika
estimasi luas tidak sesuai
titik tengah juga tidak
berada di tengah objek.
Normalitation
r R
Calculation
(G B )
( B R)
60
2
60
MAX (r , g , b) MIN (r , g , b)
S=
MAX
0
; MAX 0
; MAX = G
(R G)
2
; MAX = R
; MAX = G
60
; MAX = B
; MAX = 0
H H 360
1
1
1
|g G
|b B
255
255
255
V MAX (r , g , b)
jika H < 0
HSV
to
transformation
Binary
255 ;h Th and s Ts
;h Th and s Ts
0
I BIN ( x, y )
Conclusions...
Konvulasi
Image Enhancement
Area Processing
Konvolusi (convolution)
adalah sebuah proses
dimana citra dimanipulasi
dengan menggunakan
eksternal mask /
subwindows untuk
menghasilkan citra yang
baru.
Filtering
Filtering tanpa
menggunakan ekternal
mask tetapi hanya
menggunakan pixel
tetangga untuk
mendapatkan pixel yang
baru.
Robert
Disebut juga DPCM
Edge detection
Gx
Gy
f ( x, y )
f ( x 1, y ) f ( x, y )
x
f ( x, y )
f ( x, y 1) f ( x, y )
Gradient
Istilah gradien atau
gradien warna yang
digunakan untuk
campuran bertahap
warna dari nilai rendah ke
nilai tinggi.
Gx
f
Gy
f
x
f
y
f
x
f
y
Prewitt
Metode ini menggunakan HPF
G[ f ( x, y )] (Gx 2 G y 2
(High
juga
yang
Pass
Filter)
dan
digunakan
untuk
Gx f ( x 1, y ) f ( x, y )
G y f ( x, y 1) f ( x, y )
yang
M ( x, y ) mag (f ) g x g y
2
hanya
menggunakan
{ImgResult = ImgGray.Canny(new
Gray(0), new Gray(255)) ; }
G y f ( x 1, y ) f ( x, y )
G[ f ( x, y )] Gx 2 G y 2
Filter
Min
Piksel dapat diperoleh dari nilai
terendah untuk minimum filter
Average
Pixel baru dapat diperoleh dari
penjumlahan pixel lalu dibagi
oleh jumlah pixel tersebut
2 f
f ( x 1, y ) f ( x 1, y ) 2 f ( x, y )
x 2
2 f
f ( x, y 1) f ( x, y 1) 2 f ( x, y )
y 2
Max
Piksel dapat diperoleh dari
nilai
tertinggi
untuk
maksimum filter yaitu
Conclusions...
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