在ubuntu服务器上使用Python调整大小后,将URL中的图像保存在文件夹中

时间:2018-08-28 20:12:24

标签: python opencv ubuntu ubuntu-server

在将图像大小调整为50x50(灰度)后,尝试使用图像网络搜索URL来捕获图像int文件夹。 在使用anaconda的PyCharm中,它可以正常工作,但是当我尝试在Ubuntu服务器中运行它时,会出现一些错误。 错误消息是:

  

...

     

保存:1448

     

保存:1449

     

保存:1450

     

已保存:终止后调用   抛出'std :: out_of_range'what()的实例:   basic_string :: substr:__pos(是140)> this-> size()(是   94)

我的代码上有一些打印件可以获取状态,因此“已保存: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-in​​t(5000)

images_counter-具有一个位置的数组np.array([0])

大小-(50,50)

0 个答案:

没有答案