Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,调整文件夹中的图像大小_Python_Image_Classification_Python Imaging Library - Fatal编程技术网

Python,调整文件夹中的图像大小

Python,调整文件夹中的图像大小,python,image,classification,python-imaging-library,Python,Image,Classification,Python Imaging Library,我是这个社区的新手,也是Python的新手。我试图用Python进行图像分类,但在加载数据时遇到了一些问题。我在一个文件夹中有16000张图片,它们有不同的像素数。我想把它们调整成正方形,之后,我想在矩阵中转换图像,但我不能!这是我的代码: import cv2 import PIL from PIL import Image import numpy as np import glob food_imgs = np.zeros(300*300*3) for i, img in enume

我是这个社区的新手,也是Python的新手。我试图用Python进行图像分类,但在加载数据时遇到了一些问题。我在一个文件夹中有16000张图片,它们有不同的像素数。我想把它们调整成正方形,之后,我想在矩阵中转换图像,但我不能!这是我的代码:

import cv2
import PIL
from PIL import Image
import numpy as np 
import glob

food_imgs = np.zeros(300*300*3)

for i, img in enumerate(glob.glob("Downloads/Food-11/training/*.jpg")):
    if i == 5:
        break
fo = Image.open(img)
fo = fo.resize((300, 300))
food_imgs = np.c_[food_imgs, cv2.imread(fo).flatten()]
错误是:

TypeError                                 Traceback (most recent call last)
<ipython-input-41-b5adecbdc8f9> in <module>()
      6     fo = Image.open(img)
      7     fo = fo.resize((300, 300), PIL.Image.ANTIALIAS)
----> 8     food_imgs = np.c_[food_imgs, cv2.imread(fo).flatten()]

TypeError: expected string or Unicode object, Image found
TypeError回溯(最近一次调用)
在()
6 fo=图像打开(img)
7 fo=fo.resize((300300),PIL.Image.ANTIALIAS)
---->8 food_imgs=np.c_[food_imgs,cv2.imread(fo.flatten()]
TypeError:应为字符串或Unicode对象,找到图像
建立
找到
cv2.imread
需要一个文件名作为参数
cv2.imread
需要一个文件名作为参数谢谢!它工作得很好!太棒了,你可能会遇到一些问题。它是有效的,但这是一种粗糙的方法,因为你用它来表示np。如果您还需要什么,请告诉我。请将问题标记为重复,而不是复制和粘贴现有答案。谢谢!它工作得很好!太棒了,你可能会遇到一些问题。它是有效的,但这是一种粗糙的方法,因为你用它来表示np。如果您还需要什么,请告诉我。请将问题标记为重复,而不是复制和粘贴现有答案。
> #!/usr/bin/python from PIL import Image import os, sys
> 
> path = "/root/Desktop/python/images/" dirs = os.listdir( path )
> #Don't froget to change your path!
> def resize():
>     for item in dirs: #Iterates through each picture
>         if os.path.isfile(path+item): 
>             im = Image.open(path+item)
>             f, e = os.path.splitext(path+item)
>             imResize = im.resize((200,200), Image.ANTIALIAS)
>             imResize.save(f + ' resized.jpg', 'JPEG', quality=90)
> 
> resize()