【问题标题】:how to convert many images at once to greyscale in python [closed]如何在python中一次将许多图像转换为灰度[关闭]
【发布时间】:2020-09-13 04:08:22
【问题描述】:

我有一个包含 600 张图像的文件,我想立即将它们转换为灰度

images = [cv2.imread(file) for file in glob.glob("/Users/ad/Desktop/theimages/*.png")] 

images_grey=[]

for i in range [0,600]:
    images_grey.append (cv2.cvtColor(images[i], cv2.COLOR_BGR2GRAY) )

print(images_grey)

但我明白了

TypeError: 'type' object is not subscriptable

【问题讨论】:

  • 我猜你有一个包含 600 张图像的 目录,而不是一个文件。您真的需要一次将它们全部读入内存并使 RAM 需求增加 600 倍吗?或者一次读取、处理和保存它们会更明智吗?你真的需要用彩色读取它们,占用 3 倍必要的 RAM,然后为 4 倍 RAM 需求制作灰度吗?用cv2.IMREAD_GRAYSCALE 以灰度方式读取它们不是更好吗?总共,您对 RAM 的必要需求增加了 2,400 倍。

标签: python opencv grayscale


【解决方案1】:

你的 for 循环应该是

for i in range(0, 600):

而不是使用[ 括号

【讨论】:

    猜你喜欢
    • 2018-07-26
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多