Stap 5: Toegang tot afbeeldingen vanuit python code
In de volgende vijf stappen (stap 5 tot stap 9), 'm I gonna uitleggen de belangrijkste code gebruikt in onze "waarschuwingssysteem indringer". U vindt de volledige code uitgelegd in de stappen (5 tot en met 9) here. En ik heb het bestand met deze stap bijgevoegd.
Door deze stap moet u drie mappen namelijk "input_images", "output_images", "sorted_images". Uit deze stap zullen we gebruiken alleen de laatste map "sorted_images". U kunt dus andere mappen, verwijderen als u wenst.
In deze stap ga ik uitleggen hoe beelden opgeslagen en netjes georganiseerd laatste map toegang. Deze code zal neemt alle sub mappen (mappen vernoemd naar onze vrienden) en krijgt alle beelden in elke map. Het geeft automatisch een unieke label (een aantal startende formulier 0) aan elk van onze vrienden en opslag in het geheugen. Dus, dit is de reden dat we onze vrienden foto's moeten organiseren.
Dit deel van code retourneert een array met de elementen.
1. beelden-dit wetboek opnieuw maten & elke afbeelding converteert naar een nparray (numpy array). U hoeft niet te weten welke numpy matrix is. Maar, indien u geïnteresseerd bent, kunt u meer informatie over het hier weten.
2. etiketten-dit is een matrix met de unieke labels bevatten die we hebben besproken. Dit wordt gegeven voor elke afzonderlijke afbeelding in uit sub-omslagen.
3. mensen-dit is een array van de werkelijke naam van onze vriend. (Dit geeft als resultaat de namen van sub-omslagen) Dit is de reden dat we moeten onze sub-omslagen naam na onze vrienden.
Ontvangt de geretourneerde matrix van dit codefragment naar onze volgende stap.
Code
Opmerking:
Deze code is een klein deel van de voltooide code en individueel niet werkt. Ik heb het gebruikt hier om uit te leggen van de code.
def get_images(path, size):<br> ''' path: path to a folder which contains subfolders of for each subject/person which in turn cotains pictures of subjects/persons. size: a tuple to resize images. Ex- (256, 256) ''' sub= 0 images, labels= [], [] people= [] for subdir in listdir(path): for image in listdir(path+ "/"+ subdir): #print(subdir, images) img= cv2.imread(path+"/"+subdir+"/"+image, cv2.IMREAD_GRAYSCALE) img= cv2.resize(img, size) images.append(np.asarray(img, dtype= np.uint8)) labels.append(sub) #cv2.imshow("win", img) #cv2.waitKey(10) people.append(subdir) sub+= 1 return [images, labels, people]