Странная проблема с именем пути, когда я использую библиотеку PIL в python - PullRequest
0 голосов
/ 22 октября 2018

Этот код используется для объединения серии изображений в большое изображение.

masks=glob(temp_path+'*.jpg')
            mm=[]
            img_dim=32
            w=int(prex[5])
            h=int(prex[4])
            target = Image.new('RGB',(w*img_dim,h*img_dim))
            for i,p in enumerate(masks):
                print(i)
                mask=Image.open(p)
                mask=mask.resize((32,32))
                x=int(i%w)
                y=int(i/w)
                target.paste(mask,(x*img_dim,y*img_dim,(x+1)*img_dim,(y+1)*img_dim))
                target.save('F:/pa_slice/output/0/'+name+'_'+sub_name+'_mask.jpg')

Имена изображений идут от 4M01_00_mask.jpg до 4M15_50_mask.jpg.Странное поведение в том, что когда я запускаю этот код, он выбрасывает функцию OS Error at target.save().То есть, если я выполню этот код несколько раз, он остановится на разных изображениях.Если мне повезет, он может даже работать без ошибок :) И вот общая ошибка:

OSError: [Errno 22] Invalid argument: 'F:/pa_slice/output/0/4M15_0_mask.jpg'

Я действительно не знаю, как это сделать: (

1 Ответ

0 голосов
/ 23 октября 2018

Ну, я поставил функцию target.save() из циклического, и это работает.Может быть частая операция ввода-вывода, вызывающая проблему.

...