在将图像大小调整为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-int(5000)
images_counter-具有一个位置的数组np.array([0])
大小-(50,50)