簡體   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