|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
|
Как изогнуть изображение?19.10.2025, 16:05. Показов 1494. Ответов 23
Метки нет (Все метки)
Есть длинное прямоугольное изображение и его надо изогнуть на нужный угол, те сделать его волнистым по определенному закону, чтобы например изображение изогнулось и пересекло само себя и подобное,
как такое сделать проще ? Я так понимаю вся суть это преобразовать вертикальный прямоугольник в наклонную трапецию. Добавлено через 58 минут Интересно если дать задачу какому нить ИИ написать код, например тому же supermaven ? В сях напишет ?
0
|
|
| 19.10.2025, 16:05 | |
|
Ответы с готовыми решениями:
23
Отрисовка изображения поверх канвы (изображения) и вращение изображения Изменение яркости контрастности изображения. Бинаризация изображения |
|
|
||
| 19.10.2025, 16:49 | ||
|
Доброго.
Если речь идет об прямоугольнике с простой заливкой, то задача вполне реализуемая. А вот если это именно изображение, то все сложно))))))...озвучиваю это потому, что писал функции обычного поворота изображения вокруг своей оси. Добавлено через 1 минуту
0
|
||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
||
| 19.10.2025, 16:54 [ТС] | ||
|
Ну в принципе как я предлагал можно преобразовывать прямоугольник в наклонную трапецию а недостающие точки вычислять по соседним, но это решение в лоб. Разбиваем весь поворот на кучу мелких повернутых трапеций и вуаля. Про ИИ прям все трындят на всех форумах что творит чудеса, достаточно сказать что делать и все готово, комментарии только расставить ) сам не пробовал правда. Например "преобразовать прямоугольное изображение в наклонную трапецию" )))
0
|
||
|
Заблокирован
|
|
| 19.10.2025, 20:00 | |
|
0
|
|
|
4835 / 1402 / 115
Регистрация: 21.04.2013
Сообщений: 8,563
|
||||||||||||
| 19.10.2025, 23:49 | ||||||||||||
|
Пример "волновой изгиб":
2
|
||||||||||||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
||
| 20.10.2025, 00:45 [ТС] | ||
|
Угол изгибания задается координатами gps, те идет сканирование местности, в какой то момент сканер начинает поворачивать например направо и с каким то радиусом разворачивается и пересекает свою же предыдущею траекторию, те скан как бы завязывается в узел. Угол поворота задается с каким то таймингом в каждый текущий момент. Вот на рисунке представьте что зеленая линия это длинное изображение, на деле оно прямоугольное, но в реальности оно должно быть изогнуто как нарисовано. Те со сканера идет прямоугольное изображение, его надо изогнуть как на рисунке. Угол поворота получаем скажет через каждые 10 пикселей, всего 1600 пикселей.
0
|
||
|
4835 / 1402 / 115
Регистрация: 21.04.2013
Сообщений: 8,563
|
||||||
| 20.10.2025, 01:14 | ||||||
2
|
||||||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
|
| 20.10.2025, 12:09 [ТС] | |
|
Это ИИ написал ?
А это что такое не понял trajectory.size() ? какая то функция /трехмерная структура / массив ? Кстати при повороте там не прямоугольный треугольник получается а равнобедренный иначе изображение будет растягиваться. Я так понимаю главное не перерисовать существующие точки и заполнить пустые места чем то.
0
|
|
|
Заблокирован
|
||
| 21.10.2025, 22:01 | ||
|
Такая операция явно будет искажать данные. Если добавить левые данные, например из справочника Потлочного, то искажения будут ещё больше. Почему не растягивать изображение по каждой линии? Как в обычном масштабировании изображения? Осталось решить сколько точек изображения брать для растягивания.
0
|
||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
||
| 22.10.2025, 00:16 [ТС] | ||
|
Растягивать изображение нужно, просто в примере выше для поворота используется прямоугольный треугольник а правильнее равнобедренный, меньше будет искажений. И вообще без треугольников, просто берем часть изображения и через CopyRect копируем его в новые координаты, повернутые на нужный угол, потом сдвигаемся на нужное кол-во пикселей и опять остаток копирует в следующие координаты. Все это нужно чтобы правильно поворачивать сканы местности, тк ГИС очень хреново с этим справляется, идея была самому все разворачивать а потом уже выводить на ГИС как прямоугольник.
0
|
||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
|
| 22.10.2025, 00:55 [ТС] | |
|
По типу такого
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
|
| 22.10.2025, 11:36 [ТС] | |
|
Даже лучше придумал, делим изображение на вертикальные узкие прямоугольники и потом копируем по очереди их с нужным поворотом.
0
|
|
| 23.10.2025, 00:08 | |||||||
|
angle - полный угол поворота в радианах (по скриншоту d2r(75)) cntr - центр поворота в пикселях (по скриншоту (0, 10)) Вычисляем размер нового имеджа x_size_new = y_size_old + cntr.y y_size_new = (y_size_old + cntr.y) * (1.0 + sin(angle)) Основной цикл: проходим "по углу" строка за строкой, ищем какая точка исходного соответствует новой. Псевдокод
0
|
|||||||
|
91 / 58 / 14
Регистрация: 16.11.2018
Сообщений: 269
|
|
| 23.10.2025, 00:40 | |
|
Триангуляция.
Так делают в 3D разбивают что то на треугольники после этого над ними легко выполняются линейные преобразования.
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
|||
| 23.10.2025, 12:25 [ТС] | |||
|
Добавлено через 51 секунду
0
|
|||
|
Заблокирован
|
|
| 23.10.2025, 18:46 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
|||
| 23.10.2025, 19:42 [ТС] | |||
|
в моем с прямоугольниками только нужные прямоугольники тк угол поворота не постоянен а меняется от каждого пикселя к пикселю. Добавлено через 1 минуту
0
|
|||
|
Заблокирован
|
|||
| 23.10.2025, 21:00 | |||
|
Так и повороты, непостоянные, меняются от поворота к повороту) Тут где то логическая несостыковка, если до такого скатилось. И это где то в ТЗ. Добавлено через 6 минут whale2, ты хоть когда то видел трансформацию статического тела с угловым поворотом? Что это за процесс? То что на изображениях от известного коня стендапера Igor3D, это лишь раздумия на тему. На самом деле это совсем другое. Если нужно не повернуть(что само собой очевидно), а трансформировать с поворотом, то это совсем другая операция. Это значит что одна сторона будет ужиматься у противоположная растягиваться. И никакое Эту трансформацию никак не выполнить на потоковых данных.(что читается у тебя между строк) То есть, ещё раз проверь входные данные и что от тебя требуется.
0
|
|||
|
1 / 1 / 0
Регистрация: 20.10.2011
Сообщений: 221
|
||
| 24.10.2025, 00:05 [ТС] | ||
|
Можно взять вообще прямоугольник в 1-2 пикселя, см рисунок, белые области заполняем средними значениями. Просто функция копирования области будет работать быстрее чем рисовать попиксельно. Нет тут никаких потоковых данных, не додумывайте то чего нет. Все что нужно я описал.
0
|
||
| 24.10.2025, 00:05 | |
|
Помогаю со студенческими работами здесь
20
Загрузка изображения в Image с сохранении соотношения сторон изображения Как сделать окно (окно домика) в пространстве, как на изображении?
Как сохранить изображение в файл? Изображение, как поле класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|