Я сталкиваюсь с этой ошибкой: OSError:[Errno22] Invalid argument: '1.tif'
при передискретизации большого изображения TIFF с меньшим разрешением.
Это сработало один раз в самый первый раз, но я ошибочно назначил размерность и значение X и Y в массиве.Затем он больше не работает, даже если я вернусь к предыдущей версии.Это всегда дает мне эту ошибку:
Файл "C: \ Users \ Izzul Qudsi \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ PIL \ Image.py", строка1927, при сохранении
fp = builtins.open (имя файла, "w + b")
OSError: [Errno 22] Недопустимый аргумент: '1.tif'
и иногда этоошибка только при изменении имени результата;
Файл "C: \ Users \ Izzul Qudsi \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ PIL \ Image.py",строка 1927, в сохранении
fp = builtins.open (имя файла, "w + b")
PermissionError: [Errno 13] Отказано в доступе: '0.tif'
Кодпо-прежнему создает результирующее изображение, но случайно останавливается в середине процесса.
Я пробовал много раз, и он остановился в другой части изображения.вот код:
def valueassignment():
s=0
a=[s]
u=0
x=[u]
t=0
b=[t]
v=0
y=[v]
while s < 22288:
s=s+8
a.append(s)
while u < 2786:
u=u+1
x.append(u)
while t < 31418:
t=t+8
b.append(t)
while v < 3927:
v=v+1
y.append(v)
controlx= dict(zip(x,a))
controly= dict(zip(y,b))
RTP400=np.zeros((2787,3928), dtype=np.float32)
RTParray=np.array(RTP.GetRasterBand(1).ReadAsArray(), dtype=np.float32)
x=0
for x in range (0,3928):
y=0
for y in range (0,2787):
d= controlx[x]
e= controly[y]
z=RTParray[d,e]
RTP400 [x][y]=z
y=y+1
x=x+1
maps=PIL.Image.fromarray(RTP400, mode='F')
maps.save('1.tif')