Как перевернуть ось изображения подушки

#python #numpy #opencv #python-imaging-library #seaborn

Вопрос:

Seaborn предлагает возможность инвертировать ось изображения. Я хотел бы сделать то же самое с ПИЛОМ. Вот мой код.

 # Imports
import seaborn as sns; sns.set_theme()
import matplotlib.pyplot as plt
import numpy as np
import numpy as np; np.random.seed(0)
from PIL import Image
import random

# Arrays
r = []
g = []
b = []
for i in range(200):
    r.append(random.sample(range(0, 255), 200))
    g.append(random.sample(range(0, 255), 200))
    b.append(random.sample(range(0, 255), 200))
    
# Change color of the left part of the image
r = np.array(r)
r[:, 0:10]=0

# Change color of the right part of the image
r = np.array(r)
r[:, -10:-1]=150

g = np.array(g)
g[:, -10:-1]=150


# Plot seaborn heatmap
fig, ax = plt.subplots()

sax = sns.heatmap(r)
sax.invert_xaxis() 
 

оригинал im

sax.invert_xaxis() инвертирует ось x графика.

обратный img

Я хотел бы сделать то же самое с подушкой. Я долго искал его в Google, но ничего не нашел. Вот мое изображение подушки rgb.

 rgbarr = np.zeros((200,200,3), 'uint8')
rgbarr[..., 0] = np.array(r)
rgbarr[..., 1] = np.array(g)
rgbarr[..., 2] = np.array(b)
img = Image.fromarray(rgbarr)
img
 

PIL img

возможность opencv также приветствовалась бы.

Ответ №1:

Я думаю, ты просто хочешь перевернуть его:

  im_flipped = im.transpose(method=Image.FLIP_LEFT_RIGHT)
 

Комментарии:

1. Большое вам спасибо @Mark Setchell. Слово «просто» находится в нужном месте.