Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python для начинающих
Войти
Регистрация
Восстановить пароль
 
Bigfartyk
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 15
1

Поворот с размытием

17.03.2019, 20:39. Просмотров 180. Ответов 2
Метки нет (Все метки)

Надо преобразить картинку согласно пунктам:
1) открывает изображение image.jpg
2) поворачивает его на 270 градусов против часовой стрелки без использования циклов (только встроенными средствами PIL)
3) обрабатывает полученное изображение с помощью размытия Гаусса (GaussianBlur) с параметром n
4) сохраняет результат в файле res.jpg

С первым, третьим и четвёртыми пунктами я справился, но со вторым не могу. Вот код:
Python
1
2
3
4
5
6
7
8
from PIL import Image, ImageFilter
 
 
def motion_blur(n):
    image = Image.open("image.jpg")
    image = image.transpose(image.rotate(270))
    filtered = image.filter(ImageFilter.GaussianBlur(radius=n))
    filtered.save("res.jpg")
В чём же у меня проблема: для поворота фотографии можно использовать метод rotate, но при этом при повороте картинки, у которой длина отличается от ширины, дорисовываются чёрные полоски. Чтобы этого избежать, нужно использовать transpose и метод rotate одновременно. Я пытался сделать это на шестой строке, но это не получилось. Ищу помощи

Заранее спасибо.


Добавлено через 19 секунд
Проблема уже решилась. Справился.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2019, 20:39
Ответы с готовыми решениями:

Поворот вектора по кватерниону
судя по гуглу - заезженная тема, но.. но я убил грёбанных полтора дня, перепробовал n методов:...

Поворот матрицы на 90 градусов по часовой стрелке
Поскольку в стандартной библиотеке Python подобная функция отсутствует, надо создать собственную...

Поворот матрицы на 90 градусов по часовой стрелке
Непонятно как не транспонировать, а именно повернуть на 90 Дан массив N × M. Требуется повернуть...

Работа с размытием
Создать размытый слой, то есть чтобы все компоненты за этим слоем были размытые? Примерно как в IOS...

Samsung SCX-4220 при печати получаю повторяющиеся участки с размытием
Приветствую. МФУ Samsung SCX-4220 при печати получаю повторяющиеся участки с размытием в центре...

2
MasloriyKaryman
16 / 12 / 4
Регистрация: 21.07.2018
Сообщений: 58
17.03.2019, 20:44 2
Python
1
  image = image.transpose(image.rotate(270))
Метод transpose принимает аргумент типа Image, например:

Python
1
Image.FLIP_TOP_BOTTOM
Такой код отработает:

Python
1
image = image.transpose(Image.FLIP_TOP_BOTTOM)

Не совсем понял про "полоски". Изображение прикрепите хоть
0
Bigfartyk
0 / 0 / 0
Регистрация: 11.12.2018
Сообщений: 15
17.03.2019, 22:12  [ТС] 3
Цитата Сообщение от MasloriyKaryman Посмотреть сообщение
* image = image.transpose(image.rotate(270))
Метод transpose принимает аргумент типа Image, например:
Image.FLIP_TOP_BOTTOM

Такой код отработает:
image = image.transpose(Image.FLIP_TOP_BOTTOM)
Буду знать, спасибо.

Цитата Сообщение от MasloriyKaryman Посмотреть сообщение
Не совсем понял про "полоски". Изображение прикрепите хоть
Обычные чёрные полоски по бокам, как это бывает при записи видео и так далее.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2019, 22:12

Не могу сделать поворот матрицы на каждое нажатие, и её нормальный поворот
var Form1: TForm1; m, n: integer; i, j: byte; b, a: array of integer; ...

Поворот
Помогите пожалуйста, мне нужно повернуть фигуру, только я не знаю как это сделать если...

Поворот
Добрый день! Нужно вращать изображение по оси X. Код вращения: glClear(GL_COLOR_BUFFER_BIT); ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru