grabbed, frame = camera.
read()
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
frame = utils.image_resize(frame, height=600)
height, width, channels = frame.shape
if not calibrated:
# Sample hand color
utils.add_text(frame, "Press space after covering rectangle with hand. Hit SPACE when ready")
x, y, w, h = width / 4, height / 2, 50, 50
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
Konsep Dasar Image Processing
cv2.imshow("Calibration", frame)
if cv2.waitKey(2) & 0xFF == ord(' '):
roi = frame[y:y + h, x:x + w, :]
roi_hsv = cv2.cvtColor(roi, cv2.COLOR_BGR2HSV)
min_value = np.amin(roi_hsv, (0, 1))
max_value = np.amax(roi_hsv, (0, 1))
cv2.destroyWindow("Calibration")
calibrated = True
else:
cv2.accumulateWeighted(frame, bg, 0.01) MK: Image Processing
Oleh: Danang Erwanto, ST., MT
010100010010101010000100010100101010010100010001001101010010010101010
010100010010101010000100010100101010010100010001001101010010010101010
010100010010101010000100010101001001101010100100100101010
010100010010101010000100010101001001101010100100100101010
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
Definisi Pemrosesan Citra
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Kegiatan memperbaiki kualitas citra/ manipulasi citra agar mudah
diinterpretasi oleh manusia/mesin(komputer).
• Input citra dan Output citra tapi dengan kualitas lebih baik dari
pada citra masukan
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
Pemrosesan/Pengolahan Citra
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
Definisi Citra
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Secara harfiah : Gambar pada bidang dua dimensi
• Secara matematis : Citra merupakan fungsi malar (kontinyu) dari intensitas cahaya. Secara matematis
disimbulkan dengan f(x,y), dimana :
• (x,y) : koordinat pada bidang dwi warna
• f(x,y) : intensitas cahaya pada titik (x,y)
• Nilai f(x,y) adalah hasil kali dari :
• i(x,y) = jumlah cahaya yang berasal dari sumber, nilainya antara 0 sampai tak terhingga.
• r(x,y) = derajat kemampuan objek memantulkan cahaya , nilainya antara 0 dan 1.
• Jadi f(x,y) = i(x,y) . r(x,y)
i illumination
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
Sumber Citra Digital
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
Digitalisasi Citra
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Supaya
bisa diolah dengan komputer, citra harus direpsentasikan secara numerik dengan
nilai diskrit.
• Sebuah citra digital dapat diwakili oleh sebuah matriks dua dimensi f(x,y) yang terdiri dari M
kolom dan N baris, dimana perpotongan antara kolom dan baris disebut piksel (pixel =
picture element) atau elemen terkecil dari sebuah citra
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
Jenis-Jenis Citra Digital
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
•Color Image atau RGB (Red, Green, Blue)
•Grayscale Image
•Binary Image
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
Color Image atau RGB
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Masing-masing piksel memiliki warna
tertentu, warna tersebut adalah
merah (Red), hijau (Green) dan biru
(Blue).
• Jika masing-masing warna memiliki
range 0 – 255, maka totalnya adalah 2553
= 16.581.375 variasi warna berbeda
pada gambar.
• Terdiri dari tiga matriks yang mewakili
nilai-nilai merah, hijau dan biru untuk
setiap pikselnya.
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
Grayscale Image
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Setiap pikselnya mempunyai warna gradasi
mulai dari putih sampai hitam.
• Rentang tersebut berarti bahwa setiap
piksel dapat diwakili oleh 8 bit, atau 1 byte.
• Hasil rata-rata dari color image, dengan
persamaannya:
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
f(x,y) f=Intensitas Cahaya pada titik x,y
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")
Binary Image
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Setiap piksel hanya terdiri dari
warna hitam atau putih
• Hasil pengolahan dari Grayscale
image, dengan fungsi :
Atau dalam floating point:
T = Threshold Point/Nilai Batas
Ambang
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
Computer Vision dan Hubungannya
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
while True:
dengan Pengolahan Citra
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Merupakan proses otomatis yang mengintegrasikan sejumlah besar
proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra,
klasifikasi, pengenalan (recognition), dan membuat keputusan.
Vision = Geometry + Measurement + Interpretation
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
Aplikasi Pengolahan Citra dan Pengenalan
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
Pola
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Bidang perdagangan
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
Aplikasi Pengolahan Citra dan Pengenalan
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
Pola
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Bidang kedokteran
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
Aplikasi Pengolahan Citra dan Pengenalan
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
Pola
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Bidang militer
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
Aplikasi Pengolahan Citra dan Pengenalan
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
Pola
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Bidang transportasi
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
Aplikasi Pengolahan Citra dan Pengenalan
if not grabbed:
raise ValueError("Camera read failed!")
bg = utils.image_resize(frame, height=600).astype(np.float32)
Pola
while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break
• Bidang robotika
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri