#python #numpy
Вопрос:
У меня есть массив фигур (10,1134,1135) . 10-это количество полос на изображении. Я пытаюсь увеличить объем данных для изображений, поэтому я переворачиваю, поворачиваю изображения. Мне нужно только перевернуть индекс [1] и [2] моего массива.Но я получаю _flip_dispatcher() получил неожиданную ошибку аргумента ключевого слова «оси» :
import rasterio
import os
import numpy as np
import pandas as pd
from scipy.ndimage import rotate
a = 1
while True:
fp = r"F:\compress_sat\{}.tif".format(a)
data = rasterio.open(fp)
out_meta = data.meta.copy()
count = 10
out_transform = data.transform
out_height = 1134
out_width = 1134
crs = data.crs
# Open the file:
array=data.read()
#create np array
ds=np.array(array)
dp = rotate(ds, 90)
da = rotate(dp, 90)
drotate = rotate(da, 90)
dflip = np.fliplr(ds,axes=(1,2))
out_tif = 'F:\rasterio\{}.1.tif'.format(a)
with rasterio.open(out_tif,"w",**out_meta,compress = 'LZW') as dest:
dest.write(dflip)
dp = np.rot90(ds,axes=(1,2))
out_tif = 'F:\rasterio\{}.2.tif'.format(a)
with rasterio.open(out_tif,"w",**out_meta,compress = 'LZW') as dest:
dest.write(dp)
#rotate 90 downward
d180 = np.rot90(ds,2,axes=(1,2))
out_tif = 'F:\rasterio\{}.3.tif'.format(a)
with rasterio.open(out_tif,"w",**out_meta,compress = 'LZW') as dest:
dest.write(d180)
d90vflip = np.fliplr(drotate,axes=(1,2))
out_tif = 'F:\rasterio\{}.4.tif'.format(a)
with rasterio.open(out_tif,"w",**out_meta,compress = 'LZW') as dest:
dest.write(d90vflip)
#Vertical rotate
d90hflip = np.flipud(drotate,axes=(1,2))
out_tif = 'F:\rasterio\{}.5.tif'.format(a)
with rasterio.open(out_tif,"w",**out_meta,compress = 'LZW') as dest:
dest.write(d90hflip)
#horizontal rotate
d180vflip = np.fliplr(d180,axes=(1,2))
out_tif = 'F:\rasterio\{}.6.tif'.format(a)
with rasterio.open(out_tif,"w",**out_meta,compress = 'LZW') as dest:
dest.write(d180vflip)
d180hflip = np.flipud(d180,axes=(1,2))
out_tif = 'F:\rasterio\{}.7.tif'.format(a)
with rasterio.open(out_tif,"w",**out_meta,compress = 'LZW') as dest:
dest.write(d180vflip)
a = 1
if a > 500:
break
Комментарии:
1. из документов
numpy.flip(m, axis=None)