Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
ВнизКак убрать зазубринки при поворе растра? Найти похожие ветки
← →
Б (2009-01-10 22:13) [0]Как убрать зазубринки при поворе растра?
P.S. Такого сдесь не нашёл.
← →
antonn © (2009-01-10 22:59) [1]перед поворотом увеличь его и место его нанесения (раза в 2-4), поверни, потом обратно уменьшь :) Конечно ресурсоемко получится
← →
Б (2009-01-10 23:48) [2]2 antonn
И что, реально пропадают? И как сильно. :)
← →
Б (2009-01-10 23:50) [3]Может есть какие-нибудь нормальные методы размытия что ли?
← →
Amoeba © (2009-01-11 00:26) [4]Посмотри библиотеку Graphics32.
← →
Германн © (2009-01-11 02:07) [5]
> Б (10.01.09 23:48) [2]
>
> 2 antonn
> И что, реально пропадают? И как сильно. :)
>
> Б (10.01.09 23:50) [3]
>
> Может есть какие-нибудь нормальные методы размытия что ли?
>
Ты про какие "зазубринки"? Про поворот какого растра? Про какое "размытие"? Говори точнее.
Вот тут я (если бы был модератором) уж точно прекратил обсуждение! Вот тут модератор был бы абсолютно прав. Тут и сам вопрос сформулирован плохо (но в "Начинающим" это как бы допустимо. О чём ясно и недвусмыслено заявлено в "Основной"). Но и на уточняющие вопросы был дан бессмысленный ответ.
← →
KilkennyCat © (2009-01-11 03:07) [6]
> Про поворот какого растра?
про поворот вообще ничего не сказано. Сдесь.
← →
Б (2009-01-11 09:48) [7]> Ты про какие "зазубринки"?
При вращении растра всегда неизбежно возникают зазубринки.
Покрути растр в Фотошопе и увидишь.
> Про поворот какого растра?
И что много таких? 24-разрядные интересуют.
Да и вопрос можной приминить к любому.
> Про какое "размытие"?
Да любое! Которое подходит.
> Тут и сам вопрос сформулирован плохо.
Чё не понятного? Что тут можно ВООБЩЕ добавить? А?
Распиши тогда как Я должен был его сформулировать.
Вот antonn понял.
> про поворот вообще ничего не сказано.
А зачем? Суть то не в этом. ЕЩЁ РАЗ ПОВТОРЯЮ ПРИ ЛЮБОМ ПОВОРОТЕ ВОЗНИКАЮТ ЗАЗУБРИНКИ. Не крутил растры вообще что ли?
> Сдесь.
В Media вопрос выбросили.
И что эта за монера отвечать по подобию?
← →
DFT (2009-01-11 16:58) [8]поищите в web про anti-aliasing (один из видов размытия изображения, тема довольно обширная)
← →
Sapersky (2009-01-11 17:44) [9]Поворот растра делается операцией вида DstPixel[x, y] := SrcPixel[sx, sy], при этом sx и sy высчитываются по формулам с использованием синусов-косинусов. Проблема в том, что синусы-косинусы - непрерывны (дробные), а исходная картинка - дискретна (индексы должны быть целыми), при округлении индексов имеем потерю точности и как результат зазубринки. Чтобы уменьшить потерю точности, можно использовать, например, линейную интерполяцию по 4-м пикселям, т.е. высчитываем из 4-х соседних пикселей некий "средний" на основе дробной части sx и sy.
Примерно так:
ix: = Trunc(sx); iy: = Trunc(sy); // целая часть индекса
kx: = Frac(sx); ky: = Frac(sy); // дробная
px1: = SrcPixel[ix, iy] * (1 - kx) + SrcPixel[ix + 1, iy] * kx; // среднее по горизонтали от верхних двух пикселей
px2: = SrcPixel[ix, iy+1] * (1 - kx) + SrcPixel[ix + 1, iy+1] * kx; // от нижних
DstPixel[x, y] := px1 * (1 - ky) + px2 * ky; // среднее по вертикали
В продвинутых библиотеках все расчёты делаются в целых числах (дробные расчёты эмулируются целыми, т.н. fixed point), поэтому получается более-менее приличная скорость. Например см. FastLIB -> FastFX.pas -> Transform.
← →
antonn © (2009-01-11 22:25) [10]
> Б (11.01.09 09:48) [7]
рекомендую вообще выбрать другой форум, тут обычно не ты спрашиваешь, а тебя много спрашивают и говорят что ты должен делать еще до того, как ты опишешь проблему.
Про суперсемплинг - ну довольно хорошо исчезают (мне х2 мало, обычно делаю х4), правда скорость медленная (относительно) и память тратится. В разделе Мультимедия когда то homm давал пример довольно быстрого уменьшения картинки (в 2 и в 4 раза), можно его как нибудь примастрячить.
← →
Германн © (2009-01-12 02:17) [11]Удалено модератором
← →
KilkennyCat © (2009-01-12 07:35) [12]Удалено модератором
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.02.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c