0% found this document useful (0 votes)
46 views

05 Image Blurring With OpenCV Python

This document discusses different techniques for image blurring using OpenCV in Python. It describes averaging, Gaussian filtering, median filtering, and bilateral filtering. For each technique, it provides details on the algorithm, relevant OpenCV functions, and example outputs showing the effect of applying the blurring with different kernel sizes.

Uploaded by

Danang Erwanto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

05 Image Blurring With OpenCV Python

This document discusses different techniques for image blurring using OpenCV in Python. It describes averaging, Gaussian filtering, median filtering, and bilateral filtering. For each technique, it provides details on the algorithm, relevant OpenCV functions, and example outputs showing the effect of applying the blurring with different kernel sizes.

Uploaded by

Danang Erwanto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 11

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)

Image Blurring with OpenCV Python


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

010100010010101010000100010101001001101010100100100101010
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Pendahuluan
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

• Image Blurring adalah sebuah filter pada pengelolahan citra digital


untuk membuat image menjadi buram.
• Blurring gambar dicapai dengan menggabungkan gambar dengan
kernel filter low-pass. Yang berguna untuk menghilangkan noise.
• OpenCV menyediakan empat jenis teknik blurring utama antara lain:
• Averaging
• Gaussian Filtering
• Median Filtering
• Bilateral Filtering

MK : Image Processing (MKKPC09603)


Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Averaging
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

• Dilakukan dengan menggabungkan gambar dengan


filter kotak yang dinormalisasi hanya mengambil
rata-rata semua piksel di bawah area kernel dan
menggantikan elemen sentral dengan rata-rata
tersebut. 

• Fungsi yang digunakan cv2.blur()


atau cv2.boxFilter(). 
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Averaging
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

Hasil blurring dengan


kernel: 10, 10

MK : Image Processing (MKKPC09603)


Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Gaussian
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

• Linear filter yang biasa digunakan sebagai pengolah citra agar


dapat lebih halus.
• Gaussian filter bertujuan menghilangkan noise pada citra &
meningkatkan kualitas detil citra.
• Gaussian merupakan model noise yang mengikuti distribusi normal
standard dengan rata-rata nol dan standard deviasi 1. Efek
dari gaussian, pada gambar muncul titik-titik berwarna yang
jumlahnya sama dengan presentase noise.
• Noise speckle merupakan model noise yang memberikan warna
hitam pada titik yang terkena noise.
• Sedangkan noise salt & pepper seperti halnya taburan garam, akan
memberikan warna putih pada titik yang terkena noise.
• Fungsi yang digunakan cv2.GaussianBlur() 
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Gaussian
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

Hasil blurring
dengan kernel: 7, 7

MK : Image Processing (MKKPC09603)


Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Median 
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

• Sangat efektif pada penghapusan noise sambil


memperhatikan tepinya. 
• Namun operasinya lebih lambat dibandingkan filter
lainnya.
• Median dicari dengan melakukan pengurutan
terhadap nilai piksel dari mask yang sudah
ditentukan, kemudian dicari nilai tengahnya. 
• Fungsi yang digunakan cv2.medianBlur() 

MK : Image Processing (MKKPC09603)


Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Median
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

Hasil blurring
dengan nilai mask: 5

MK : Image Processing (MKKPC09603)


Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Bilateral  
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

• Pada mean filtering dalam setiap piksel output


diatur ke tingkat rata-rata dari nilai-nilai piksel
dalam mask yang ditentukan. Namun, dengan
median filtering, nilai piksel output ditentukan oleh
median dari lingkungan mask yang ditentukan.
• Filter bilateral juga menggunakan filter Gaussian
dalam domain ruang, tetapi juga menggunakan satu
lagi komponen filter Gaussian (multiplikatif) yang
merupakan fungsi dari perbedaan intensitas piksel.
• Fungsi yang
digunakan cv2.bilateralFilter()  
MK : Image Processing (MKKPC09603)
Program Studi : Teknik Elektro – Uniska Kediri
grabbed, frame = camera.read()
if not grabbed:
raise ValueError("Camera read failed!")

Bilateral 
bg = utils.image_resize(frame, height=600).astype(np.float32)

while True:
grabbed, frame = camera.read()
if not grabbed:
print "Camera read failed"
break

Hasil blurring
dengan nilai mask:
10 dan kernel :
75,75

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

You might also like