在python中使用openCV调整图像大小
我使用以下方法从目录中获取所有图像:在python中使用openCV调整图像大小,python,opencv,resize,Python,Opencv,Resize,我使用以下方法从目录中获取所有图像: def ReadImages(路径): LabelList=list() ImageCV=list() 类别=[“非灾难恢复”、“pdr”] 宽度=605 高度=700 尺寸=(宽度、高度) #获取所有子目录 FolderList=os.listdir(路径) #在每个目录上循环 对于FolderList中的文件: if(os.path.isdir(os.path.join(path,File)): 对于os.listdir(os.path.join(pat
def ReadImages(路径):
LabelList=list()
ImageCV=list()
类别=[“非灾难恢复”、“pdr”]
宽度=605
高度=700
尺寸=(宽度、高度)
#获取所有子目录
FolderList=os.listdir(路径)
#在每个目录上循环
对于FolderList中的文件:
if(os.path.isdir(os.path.join(path,File)):
对于os.listdir(os.path.join(path,File))中的映像:
#将路径转换为文件
append(cv2.imread(os.path.join(path,File)+os.path.sep+Image))
#为每个图像添加标签并删除文件扩展名
append(classes.index(os.path.splitext(文件)[0]))
其他:
append(cv2.imread(os.path.join(path,File)+os.path.sep+Image))
#为每个图像添加标签并删除文件扩展名
append(classes.index(os.path.splitext(文件)[0]))
返回图像CV,LabelList
但我的图像更大,a希望将其wxh减少到605x700,然后我尝试这样做:
imgR=cv2.调整大小(ImageCV[Image])
而且它不起作用。。如何调整所有这些图像的大小?非常感谢您的帮助。您可能需要将
cv2
的resize()函数的形状传递给
这将调整图像大小,使其具有605列(宽度)和700行(高度):
有关更多选项,请阅读的文档
此外,我建议使用python编码约定,如imgR->img\u r
,Image->Image
,ImageCV->Image\u cv
等。希望这能有所帮助。您阅读的所有图像大小都相同吗?有22个img(605x700)和49个img(4288x2848)阅读cv2.resize()等方法的文档总是有帮助的。请参阅所需的参数。例如,请参见。TypeError:列表索引必须是整数或片,而不是strIt。这与for循环有关。请尝试获取枚举(列表)中的索引、值:
如果您为其发布代码,我可以提供帮助。我必须删除此项:对于os.listdir(os.path.join(path,File))中的图像:?我不确定您将resize()
添加到代码的位置。但如果它在该循环中,则将其更改为作为索引,enumerate中的图像(os.listdir(os.path.join(path,File)):
。现在,您可以通过ImageCV[index]
访问列表项。
imgR = cv2.resize(ImageCV[Image], (605, 700))