Je veux lire plusieurs images sur un même dossier en utilisant opencv (python). Pour ce faire, dois-je utiliser la boucle for
ou la boucle while
avec la fonction imread
? Si c'est le cas, comment? Aidez-moi, s'il vous plaît...
Je veux obtenir des images dans un tableau, puis les traiter une à une par une boucle.
import glob
import cv2
images = [cv2.imread(file) for file in glob.glob("path/to/files/*.png")]
Cela va obtenir tous les fichiers dans un dossier dans onlyfiles
. Ensuite, il les lira tous et les stockera dans le tableau images
.
from os import listdir
from os.path import isfile, join
import numpy
import cv2
mypath='/path/to/folder'
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
images = numpy.empty(len(onlyfiles), dtype=object)
for n in range(0, len(onlyfiles)):
images[n] = cv2.imread( join(mypath,onlyfiles[n]) )
import glob
import cv2 as cv
path = glob.glob("/path/to/folder/*.jpg")
cv_img = []
for img in path:
n = cv.imread(img)
cv_img.append(n)
import cv2
from pathlib import Path
path=Path(".")
path=path.glob("*.jpg")
images=[]`
for imagepath in path.glob("*.jpg"):
img=cv2.imread(str(imagepath))
img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img=cv2.resize(img,(200,200))
images.append(img)
print(images)