Ich habe einen zufälligen Datensatz von 100000 Bildern.Wie kann man mit opencv und python schneller über einen großen Bilddatensatz loopen?
Ich habe den folgenden Code für das gleiche Dataset verwendet, aber die Verarbeitungsgeschwindigkeit ist schrecklich langsam (in AWS-GPU-Instanz).
import cv2
from progressbar import ProgressBar
pbar = ProgressBar()
def image_to_feature_vector(image, size=(128, 128)):
return cv2.resize(image, size).flatten()
imagePath = #path to dataset
data = []
#load images
for i in pbar(range(0,len(imagePath))):
image = cv2.imread(imagePath[i])
image=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
features = image_to_feature_vector(image)
data.append(features)
Wie kann man die Verarbeitungsgeschwindigkeit verbessern?
Wie lange dauert es? –
@ElisByberi 1 Stunde – snfs
~ 28 Bilder/s. Hast du es ohne 'ProgressBar()' versucht? Vielleicht wird es schneller! GPU beschleunigt 'ProgressBar()' nicht! –