#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()
sax.invert_xaxis()
инвертирует ось x графика.
Я хотел бы сделать то же самое с подушкой. Я долго искал его в 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
возможность opencv также приветствовалась бы.
Ответ №1:
Я думаю, ты просто хочешь перевернуть его:
im_flipped = im.transpose(method=Image.FLIP_LEFT_RIGHT)
Комментарии:
1. Большое вам спасибо @Mark Setchell. Слово «просто» находится в нужном месте.