Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/103: Рейтинг темы: голосов - 103, средняя оценка - 4.65
-27 / 13 / 0
Регистрация: 29.12.2018
Сообщений: 214

Отразить изображение относительно центра

24.03.2019, 20:41. Показов 20836. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Напишите функцию twist_image(input_file_name, output_file_name), которая будет отражать относительно центра левую верхнюю и правую нижнюю четверти изображения.
Параметр input_file_name задаёт имя исходного файла, а output_file_name — имя файла, куда следует сохранить результат.
2
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.03.2019, 20:41
Ответы с готовыми решениями:

Зеркально отразить изображение относительно побочной диагонали
В файле image.jpg лежит изображение с одинаковой шириной и высотой. Зеркально отразите его относительно побочной диагонали — прямой, идущей...

Зеркально отразить элементы квадратной матрицы относительно главной диагонали
Добрый вечер, помогите, пожалуйста, c решением представленной задачи Дана следующая задача: "Дана квадратная матрица N×N,...

Заполнить матрицу случайными числами. Отразить симметрично относительно вертикальной оси сектора матрицы
Заполнить матрицу случайными числами. Отразить симметрично относительно вертикальной оси сектора матрицы, лежащие влево и вправо от ...

9
11 / 11 / 2
Регистрация: 24.03.2019
Сообщений: 14
25.03.2019, 17:55
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
from PIL import Image
import copy
 
 
def mirror(name):
    im = Image.open(name)
    pixels = im.load()  # список пикселов
    x, y = im.size  # ширина и высота изображения
    p = Image.open(name)
    p1 = p.load()
 
    for i in range(x):
        for j in range(y):
            pixels[j, i] = p1[i, j]
 
    for i in range(x):
        for j in range(y):
            a = x - i - 1
            b = y - j - 1
            p1[i, j] = pixels[a, b]
 
    p.save(name)
 
 
def twist_image(input_file_name, output_file_name):
 
    im = Image.open(input_file_name)
    pixels = im.load()
    x, y = im.size
    x1 = x // 2
    y1 = y // 2
 
    im2 = copy.deepcopy(im)
    p2 = im2.crop((x1 + 1, y1 + 1, x, y))
    p2.save('p2.jpg')
    im1 = copy.deepcopy(im)
    p1 = im1.crop((0, 0, x1, y1))
 
    p1.save('p1.jpg')
    mirror('p1.jpg')
    p1 = Image.open('p1.jpg')
    pix1 = p1.load()
 
    mirror('p2.jpg')
    p2 = Image.open('p2.jpg')
    pix2 = p2.load()
 
    for i in range(x1):
        for j in range(y1):
            pixels[x1 - i - 1, y1 - j - 1] = pix2[i, j]
    for i in range(x1 + 1, x):
        for j in range(y1 + 1, x):
            pixels[i, j] = pix1[x - i - 1, y - j - 1]
 
    im.save(output_file_name)
Надеюсь, работу программы Вам объяснять не надо
5
-27 / 13 / 0
Регистрация: 29.12.2018
Сообщений: 214
25.03.2019, 19:04  [ТС]
спасибо, но я просто не понял эту тему, болел, вот и пытаюсь по решениям понять, а то в учебниках ничего нет
0
11 / 11 / 2
Регистрация: 24.03.2019
Сообщений: 14
25.03.2019, 19:14
Ну да, ну да... Задачи Яндекс.Лицея на СР решить не можем
0
-27 / 13 / 0
Регистрация: 29.12.2018
Сообщений: 214
25.03.2019, 19:22  [ТС]
СР уже была, так что я смотрю задания других вариантов, у них сложнее, а свои я сделал
0
11 / 11 / 2
Регистрация: 24.03.2019
Сообщений: 14
25.03.2019, 20:06
Кстати, отметь, пожалуйста, что задача сделана))
Просто я пытаюсь помочь с теми задачами, которые еще не сделаны. Поэтому буду натыкаться и на Вашу
Заранее спасибо
0
-27 / 13 / 0
Регистрация: 29.12.2018
Сообщений: 214
26.03.2019, 15:50  [ТС]
Вердикт
runtime-error
Лог компиляции
stdout:
/bin/sh ./build.sh 1>&2


stderr:
ну хз, тут вот такая ошибка
0
0 / 0 / 0
Регистрация: 24.11.2019
Сообщений: 2
16.04.2020, 07:39
можно задачу решить встроенными функциями

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from PIL import Image
 
 
def twist_image(input_file_name, output_file_name):
    im = Image.open(input_file_name)
    x, y = im.size
    x1 = int(x / 2)
    y1 = int(y / 2)
 
    p1 = im.crop((0, 0, x1, y1))
    p2 = im.crop((x1, y1, x, y))
 
    p1 = p1.transpose(Image.FLIP_LEFT_RIGHT)
    p1 = p1.transpose(Image.FLIP_TOP_BOTTOM)
    p2 = p2.transpose(Image.FLIP_LEFT_RIGHT)
    p2 = p2.transpose(Image.FLIP_TOP_BOTTOM)
 
    im.paste(p2, (0, 0))
    im.paste(p1, (x1, y1))
    im.save(output_file_name)
0
5 / 5 / 0
Регистрация: 18.04.2020
Сообщений: 9
10.05.2020, 10:31
Кому нужно, готовое, короткое решение.
from PIL import Image


def twist_image(input_file_name, output_file_name):
im = Image.open(input_file_name)
x, y = im.size
x1 = int(x / 2)
y1 = int(y / 2)
p1 = im.crop((0, 0, x1, y))
p2 = im.crop((x1, 0, x, y))
im.paste(p2, (0, 0))
im.paste(p1, (x1, 0))
im.save(output_file_name)
0
8 / 8 / 0
Регистрация: 17.11.2019
Сообщений: 7
10.05.2020, 23:18
для тех у кого не проходит тесты, вод код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from PIL import Image
 
 
def twist_image(input_file_name, output_file_name):
    im = Image.open(input_file_name)
    px = im.load()
    s, h = im.size
    for x in range(s // 2):
        for y in range(h):
            r, g, b = px[x, y]
            r1, g1, b1 = px[s // 2 + x, y]
            px[x, y] = r1, g1, b1
            px[s // 2 + x, y] = r, g, b
    im.save(output_file_name)
+1 спасибо
7
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.05.2020, 23:18
Помогаю со студенческими работами здесь

Заполнить матрицу случайными числами. Отразить главную и боковую диагонали симметрично относительно вертикальной оси
Заполнить матрицу случайными числами. Отразить главную и боковую диагонали симметрично относительно вертикальной оси

Вывести все слова строки, содержащие нечетное количество букв относительно центра слова
Задание: дана строка символов, состоящая из отдельных слов, отделенных пробелом. Вывести все слова строки, содержащие нечетное количество...

Зеркально отразите изображение относительно его побочной диагонали
Я начала программировать в этом году и есть проблема вот с такой задачей: В файле image.jpg лежит изображение с одинаковой шириной и...

Зеркально отразить элементы матрицы относительно главной диагонали
Дана квадратная матрица A порядка M. Зеркально отразить ее элементы относительно главной диагонали (при этом элементы главной диагонали...

Отразить изображение
В файле image.jpg лежит изображение. Зеркально отразите его относительно центральной вертикальной оси. Формат ввода Изображение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru