簡體   English   中英

如何將圖像從列表下載到 Python 中的文件夾

[英]How to download images from a list to a folder in Python

我正在嘗試根據蒙版圖像(圖像蒙版)裁剪圖像,但我遇到了 3 個問題:

  1. 如果我在 Jupyter notebook 上運行它,它會成功裁剪 1 張圖像。 如果我再添加 1 個圖像,它會給出list index out of range錯誤。

  2. 我嘗試了幾種不同的方法將保存在 Dataset_cropped 列表中的裁剪圖像下載到 jupyter notebook 和 google colab 中的文件夾中。 但是目標文件夾在兩者中都是空的。

  3. 當我在 Google Colab 上運行此代碼時,我無法使用plt.imshow(img_org)命令在屏幕上顯示裁剪后的圖像。 它產生錯誤TypeError: Image data of dtype object cannot be converted to float 現在它沒有產生任何結果,也沒有給出錯誤。 -此命令在 jupyter notebook 上運行良好。

請讓我知道您是否可以在這方面提供幫助。 謝謝!

我正在使用的代碼是:

import cv2
import glob
import os
import matplotlib.pyplot as plt

Dataset_cropped = [] 
org_list = sorted(glob.glob('\content\drive\MyDrive\original*')) 
msk_list = sorted(glob.glob('\content\drive\MyDrive\mask*'))

for i in range(len(org_list)):
    img_org = cv2.imread(org_list[i])
    img_mask = cv2.imread(msk_list[i])
    img_org = cv2.resize(img_org, (400,400), interpolation = cv2.INTER_AREA)
    img_mask = cv2.resize(img_mask, (400,400), interpolation = cv2.INTER_AREA)

    for h in range(len(img_mask)):
        for w in range(len(img_mask)):
            if img_mask[h][w][0]==0:
                for i in range (3):
                   img_org[h][w][i] = 255
                else:
                   continue
  
         #plt.imshow(img_org)
         dataset_cropped.append(img_org)
         continue
plt.imshow(img_org)

我嘗試下載保存的圖像的一些方法:

在循環中使用這些:

img = cv2.imread(img_org) cv2.imwrite("\content\drive\MyDrive\cropped\CH.png", img)

在循環外使用這些:

image = np.asarray(TBB_CROPPED)
count=0 
i=0 
while i < len(TBB_CROPPED): 
    cv2.imwrite('\content\drive\MyDrive\cropped\CH%d'+str(count)+'.png',image) 
    i = i+1 
    count = count + 1

Christoph Rackwitz 是對的:斜線幾乎就是問題所在。 保存文件時嘗試將它們從向后更改為向前:

cv2.imwrite("/content/drive/MyDrive/cropped/CH.png", img)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM