Listing
Program :
import
tensorflow as tf
import
cv2
import
os
import
numpy as np
import
matplotlib.pyplot as plt
def
load_data(data_directory):
directories = [d for d in
os.listdir(data_directory)
if
os.path.isdir(os.path.join(data_directory,d))]
labels = []
images = []
for d in directories:
label_directory =
os.path.join(data_directory,d)
file_names =
[os.path.join(label_directory,f)
for f in os.listdir(label_directory)
if f.endswith(".png")]
for f in file_names:
images.append(cv2.imread(f))
labels.append(int(d))
return images,labels
ROOT_PATH
= "D:\LABTI"
train_data_directory
= os.path.join(ROOT_PATH, "Numbers")
images,
labels = load_data(train_data_directory)
print("Ukuran
gambar: ",images[6].shape)
print("Banyak
label: ",len(set(labels)))
dim
= (30,30)
images30
= []
for
image in images:
gray_image = cv2.cvtColor(image,
cv2.COLOR_RGB2GRAY)
images30.append(cv2.resize(gray_image, dim,
interpolation =
cv2.INTER_CUBIC))
print("Ukuran
gambar setelah preprocessing :", images30[1].shape)
plt.imshow(images30[1])
plt.show()
Logika Program
:
1.
Buka
aplikasi text editor apapun, disini saya menggunakan python versi 3.6.
2.
Setelah
text editor terbuka, ketikan sintaks sintaks seperti yang ada pada listing
program.
Sintaks
|
Fungsi
|
import
tensorflow as tf
|
Digunakan
untuk meng-import library tensorflow
|
import
cv2
|
Digunakan
untuk meng-import library opencv_python
|
import
os
|
Digunakan
untuk meng-import library os
|
import
numpy as np
|
Digunakan
untuk meng-import library numpy
|
import
matplotlib.pyplot as plt
|
Digunakan
untuk meng-import library matplotlib
|
def
load_data(data_directory):
|
Mendefinisikan
load_data dengan parameternya yaitu data_directory
|
directories
= [d for d in os.listdir(data_directory)
|
Mendeklarasikan
d sebagai sebuah variable dimana terdapat parameter data_directory
|
if
os.path.isdir(os.path.join(data_directory,d))]
|
jika
terdapat parameter data_directory,d maka sistem akan mengecek apa kah ada
path di dalam directory, jika ada maka os akan masuk ke directory tersebut.
|
labels
= []
|
Mendeklarasikan
fungsi array dengan nama labels.
|
images
= []
|
Mendeklarasikan
fungsi array dengan nama images.
|
for
d in directories:
|
Apabila
d ada di dalam directories maka program akan melanjutkan ke sintaks
berikutnya.
|
label_directory
= os.path.join(data_directory,d)
|
Label
directory masuk kedalam data_directory,d
|
file_names
= [os.path.join(label_directory,f)
|
File_names
/ nama file berhubungan dengan label_directory untuk mencari nama file
didalam data_directory,d
|
for
f in os.listdir(label_directory)
|
Mengecek
f didalam directory label
|
if
f.endswith(".png")]
|
Memilih
f yang berakhiran .png
|
for
f in file_names:
|
Apabila
f ditemukan oleh file_names maka program akan mengeksekusi sintaks
berikutnya.
|
images.append(cv2.imread(f))
|
Membuka
gambar yang dipilih tadi dengan menggunakan library opencv_python atau cv2 dan
di scan.
|
labels.append(int(d))
|
Nilai
pada labels d diubah menjadi integer
|
return
images,labels
|
Mengembalikan
value dari images dan labels
|
ROOT_PATH
= "D:\LABTI"
|
Membuka
lokasi dari file yang akan di scan oleh library opencv
|
train_data_directory
= os.path.join(ROOT_PATH, "Numbers")
|
File
pada folder Numbers yang ada di sintaks sebelumnya akan diantarkan oleh
data_directory
|
images,
labels = load_data(train_data_directory)
|
Images
dan labels akan memuat data atau file pada train_data_directory)
|
print("Ukuran
gambar: ",images[6].shape)
|
Mengeprint
ukuran gambar dengan bentuk nilai berjumlah 6
|
print("Banyak
label: ",len(set(labels)))
|
Mengeprint
panjang atau jumlah labels dari file yang dimuat
|
dim
= (30,30)
|
Membuat
sebuah parameter atau garis batas dengan sumbu x dan y yang bernilai masing
masing 30 di masing masing sumbunya
|
images30
= []
|
Mendeklarasikan
fungsi array dengan nama images30 yang berfungsi untuk memasukkan file
|
for
image in images:
|
Apabila
image atau file ada pada images maka sistem akan mengeksekusi sintaks
selanjutnya
|
gray_image
= cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
|
Memberikan
warna pada gambar.
|
images30.append(cv2.resize(gray_image,
dim,
interpolation
= cv2.INTER_CUBIC))
|
Array
images30 akan discan oleh library opencv untuk diresize, diberi warna, dan
dimasukkan ke dalam parameter atau garis batas.
|
print("Ukuran
gambar setelah preprocessing :", images30[1].shape)
|
Sistem
akan mencetak kalimat dan ukuran gambar yang sesuai dengan file, contohnya
pada sintaks images30[1], file yang dipilih untuk di muat adalah file dengan
nomor urut 1
|
plt.imshow(images30[1])
|
Memasukkan
file yang dimuat kedalam library plt untuk ditampilkan
|
plt.show()
|
Menampilkan
file yang dimuat.
|
No comments:
Post a Comment