Сохранение изображений из URL в папке после изменения размера с помощью Python на сервере Ubuntu - PullRequest
0 голосов
/ 28 августа 2018

Попытка использовать URL-адрес поиска image-net для захвата изображений в папке int после изменения их размера до 50x50 (оттенки серого). В PyCharm, использующем anaconda, все работает нормально, но когда я пытаюсь запустить его на сервере Ubuntu, со временем появляются некоторые ошибки. Ошибка массажа:

...

Сохранено: 1448

Сохранено: 1449

Сохранено: 1450

Сохранено: завершить вызов после бросая экземпляр 'std :: out_of_range' what (): basic_string :: substr: __pos (который равен 140)> this-> size () (который является 94)

В моем коде есть несколько распечаток, чтобы получить статус, поэтому "Saved: x" - счетчик изображений. Функция:

def get_images_to_dir(img_typ, images_list_lnk, scope,images_counter,size):
    images_url = urllib.urlopen(images_list_lnk)
    urls = images_url.read()

    if not os.path.exists(img_typ):
        os.mkdir(img_typ)

    error_counter = 0

    for url in urls.split('\n'):
        # Try and catch need to be enable only when the function is going to run without me.
        # It's help the function continue if something isn't work
        if (images_counter[0] == scope): break
        img_name = img_typ+'/'+str(images_counter[0])+'.jpg'
        try:
            urllib.urlretrieve(url, img_name)
            img = cv2.imread(img_name, cv2.IMREAD_GRAYSCALE)
            if (img is not None): # If connection success, but no image was found
                img = cv2.resize(img, size)
                cv2.imwrite(img_name, img)
                print 'Saved:', images_counter[0] # !Main problem!
                images_counter[0] += 1
        except Exception as e:
            error_counter += 1 # Counting Exceptions
            print 'error_counter=',error_counter

о заголовке функции:

img_typ - строка ('pos')

images_list_lnk - строка ('domain.org/file.txt')

scope - int (5000)

images_counter - массив с одним местом np.array ([0])

размер - (50,50)

...