Peningkatan Kualitas Video Hasil Rekaman Closed Circuit Television (CCTV) Menggunakan Median Filter Chapter III V

24

BAB 3
ANALISIS DAN PERANCANGAN

Bab ini membahas tentang implementasi metode median filter dalam proses
peningkatan kualitas video hasil rekaman CCTV (Closed Circuit Television). Bab ini
juga membahas tentang data yang digunakan, proses pemisahan video menjadi citracitra, pre-processing, dan menyatukan citra-citra menjadi video.

3.1. Arsitektur Umum

Rancangan sistem yang diajukan pada penelitian ini dapat dilihat pada Gambar 3.1.
Gambar 3.1 menunjukkan arsitektur umum dari metode median filter untuk
peningkatan kualitas video yang terdiri dari beberapa langkah. Langkah-langkah yang
dimaksud adalah sebagai berikut: pengumpulan file video hasil rekaman cctv sebagai
data input; melakukan pre-processing terhadap video dimana video dipisah menjadi
citra-citra; pembacaan nilai piksel pada setiap citra. Filtering menggunakan median
filter;Perangkaian citra menjadi video. Output yang dihasilkan setelah semua proses
selesai dilakukan adalah video tanpa derau(noise).

Universitas Sumatera Utara


25

Universitas Sumatera Utara

26

3.2. Data Input

Data yang digunakan dalam penelitian ini adalah video lalulintas(traffic) hasil
rekaman Closed Circuit Television (CCTV). Data yang digunakan berjumlah 4 video
dengan format MPEG-4 (*.mp4) dan dalam bentuk grayscale. Spesifikasi file video
dapat dilihat pada Tabel 3.1.

Tabel 3.1. Spesifikasi file video yang digunakan dalam penelitian
No

Nama Video

Durasi(detik)


Ukuran(Byte)

Sumber

1.

Traffic_1.mp4

4

12,594,715

Universitas Karlsruhe

2.

Lalulintas.mp4

82


5,300,704

Area Traffic Control System
(ATCS) Dinas Perhubungan
Wilayah Medan

3

Lalulintas_2.mp4

61

7,127,738

Area Traffic Control System
(ATCS) Dinas Perhubungan
Wilayah Medan

4


Lalulintas_3.mp4

111

4,397,129

Area Traffic Control System
(ATCS) Dinas Perhubungan
Wilayah Medan

3.3. Pre-Processing

Pada tahap ini, video akan dipisah menjadi citra-citra dengan jumlah yang sesuai
dengan frame rate video. Sebagai contoh jika video memiliki frame rate 30 frame per
second (fps) dan durasi 4 detik, maka citra yang akan dihasilkan berjumlah 30×4 =
120 citra. citra yang dihasilkan dari proses ini memiliki format JPEG dengan resolusi
yang sama dengan video. Pseudocode pemisahan video dapat dilihat pada Gambar
3.2.


Universitas Sumatera Utara

27

Start
Input video file
change video to image
get video path
set image output location
set image name
Convert video to image using FFMPEG
end of changing video to image

Universitas Sumatera Utara

28

Pada Gambar 3.3. (a) dapat dilihat bahwa video traffic_1.mp4 berada pada
folder video telah dipisahkan menjadi 121 citra sesuai dengan frame rate video yang
dapat dilihat pada Gambar 3.3. (b). Citra yang dihasilkan memiliki format penamaan

menggunakan angka yaitu 1.jpg, 2.jpg, 3.jpg, hingga citra akhir 121.jpg.

3.4. Median Filter

Setelah video dipisahkan menjadi citra-citra yang berdiri sendiri, tahap selanjutnya
yang dilakukan adalah menghilangkan derau(noise) pada setiap citra. Proses ini dapat
dilakukan dengan metode median filter. Filtering menggunakan median filter dimulai
dengan melakukan pembacaan nilai piksel citra. Setelah piksel citra didapatkan, maka
akan dilakukan penambahan nilai piksel di sekeliling citra. Tahap selanjutnya adalah
mengatur ukuran matriks filter(mask) menjadi 3x3. Kemudian nilai piksel akan
diurutkan secara ascending pada setiap matriks filter(mask). Setelah proses
pengurutan nilai piksel dilakukan, maka nilai median pada setiap matriks filter(mask)
dapat dihitung. Nilai median hasil penghitungan ini yang akan digunakan untuk
menggantikan nilai piksel asli citra.
.
3.4.1. Membaca Nilai Piksel Citra

Pembacaan nilai piksel citra dilakukan pada class GetPixel. Proses pembacaan
diawali dengan mendapatkan ukuran tinggi citra menggunakan getHeight() dan
lebar citra menggunakan getWidth(). Kemudian, nilai RGB (Red,Green,Blue)

citra akan diperoleh menggunakan function getRGB() sesuai dengan ukuran tinggi
dan lebar citra. Nilai RGB ini akan dikonversi menjadi grayscale dengan operasi
bitwise pada function getRGBArray(). Setelah nilai piksel dalam bentuk grayscale
didapatkan, nilai ini akan dimasukkan ke dalam matriks citra dengan function
getMatrix().

Universitas Sumatera Utara

29

Output yang didapatkan pada proses pembacaan nilai piksel ini berupa array
matriks citra dengan ukuran tinggi × lebar

yang disimpan dalam variabel

matrixImage[][]. Pseudocode pembacaan nilai citra dapat dilihat pada Gambar
3.4.

Start
Input image file

get pixel image
for (every file)
get height and width image
for i