繁体   English   中英

在python中对图像数据进行欠采样

[英]Undersampling with image data in python

欠采样的主要思想是随机删除具有足够观察值的类,以便两个类的比较比率在我们的数据中是显着的。 那么,如何在python中对图像数据进行欠采样? 请帮我:(

我从 Kaggle 获取了眼底图像数据。 有 5 个类的 35127 张图像。 0类:25810条数据,1类:2443条数据,2类:5292条数据,3类:873条数据,4类:708条数据,

我希望每个班级在第 4 节课之后有多达 708 张图片。 如何删除 Python 中的其余图像?

我知道这是一个老问题,但为了人们寻找答案,此代码完美运行:

    path = r'C:/The_Path'# You can provide the path here
    n = 2500 # Number of random images to be removed
    img_names = os.listdir(path)  # Get image names in folder
    img_names = random.sample(img_names, n)  # Pick 2500 random images
    for image in img_names:  # Go over each image name to be deleted
        f = os.path.join(path, image)  # Create valid path to image
        os.remove(f)  # Remove the image

正如您的问题所述,您希望所有类都等于第 4 类,即 708 个图像。 简单地找出差异并替换n,例如3类图像和708个图像的数量之间的差异是165个图像,因此n = 165。此外,您可以将其变成一个函数以对其进行更多的概括。

代码取自,但已编辑:

如何使用python从多个文件夹中删除多个图像

https://stackoverflow.com/users/10512332/vikrant-sharma回答了这个问题。

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM