List

Dalam pengolahan citra digital kita akan sering berhubungan Machine Learning. Sebelum sistem digunakan maka kita akan melatih dengan beberapa data. Data diambil dari sebuah direktori atau folder. Lebih mudah kita akan menyimpan nama-nama file dalam sebuah folder kedalam file txt. Berikut ini beberapa code pendek untuk menyimpan nama-nama image kedalam file txt.

Kita akan menggunakan glob, untuk itu pertama install glob dengan menggunakan PIP

pip install glob2

Buatlah file baru dengan nama list.py, dan tuliskan kode berikut

import numpy as np import glob import cv2 import os f_pos= open("positif.txt","w+") f_neg= open("negatif.txt","w+") pos_filenames = [img for img in glob.glob("D:\Project\kopi\Dataset_buah\Test\Apple Red 1\*.jpg")] pos_filenames.sort() # ADD THIS LINE ''' neg_filenames = [img for img in glob.glob("/home/aris/Project/negatif/*.jpg")] neg_filenames.sort() # ADD THIS LINE''' # pos_images = [] #neg_images = [] i = 1 for pos_img in pos_filenames: # Pos_img menyimpan nama image pos_n= cv2.imread(pos_img) height = pos_n.shape[0] width = pos_n.shape[1] f_pos.write("%s %d 0 0 %d %d\n" %(pos_img,i,height,width)) #myfile.write("the length of phrase #%d is: %f\n" % (NumTrials, length)) resized = cv2.resize(pos_n, (50, 50)) #gray = cv2.cvtColor(resized, cv2.COLOR_RGB2GRAY) # Menyimpan image cv2.imwrite('D:\Project\kopi\Dataset_buah\Test\Apel Merah\{}.jpg'.format(i),resized) i+=1 pos_images.append(pos_n) print(pos_img) f_pos.close()

Positif.txt digunakan untuk menyimpan data-data yang sesuai, dalam project ini saya ingin menyimpan gambar buah kopi. Sedangkan Negatif.txt digunakan untuk menyimpan gambar-gambar lain selain buah kopi yang akan dilatih untuk membedakan keduanya.

pos_filenames = [img for img in glob.glob("D:\Project\Kopi\Positif\*.jpg") neg_filenames = [img for img in glob.glob("D:\Project\Kopi\Negatif\*.jpg")

Kode diatas akan membaca file dengan ext .jpg dan menyimpan dalam array pos_filenames dan neg_filenames

pos_images = [] i = 1 for pos_img in pos_filenames: pos_n= cv2.imread(pos_img) height = pos_n.shape[0] width = pos_n.shape[1] f_pos.write("%s %d 0 0 %d %d\n" %(pos_img,i,height,width)) #myfile.write("the length of phrase #%d is: %f\n" % (NumTrials, length)) resized = cv2.resize(pos_n, (50, 50)) #gray = cv2.cvtColor(resized, cv2.COLOR_RGB2GRAY) cv2.imwrite('D:\Project\kopi\positif\{}.jpg'.format(i),resized) i+=1 pos_images.append(pos_n) print(pos_img) f_pos.close()

perintah untuk membuka file, mendapatkan nilai tinggi dan lebar dari citra dan merubah ukuran citra menjadi 50×50 dan menyimpan dalam file positif.txt