|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Andrew Kadatch 2:5020/400 07 Jun 2001 11:26:48 To : All Subject : Re: размер M*N -> K*K -------------------------------------------------------------------------------- > YUV? что это черно-белое изображение?(нет наверно) y = 0.299*r + 0.587*g + 0.114*b u = -0.148*r - 0.291*g + 0.439*b; v = 0.439*r - 0.368*g - 0.071*b; Если хочется преобразовать цветное изображение в черно-белое, то Y-компонента как раз и есть яркость сигнала, т.е. как раз то, что надо (впрочем, коэффициенты Вам уже выдали :-). > Можно уточнить? Интерполяция как делается? > Берется каждая вторая точка(как по х так и по у) и ей присваивается среднее > значение цветов окружающих восьми точек? Да. Это называется билинейная интерполяция. Сегодня я пообщался с нашими экспертами в области обработки видео, и они мне сказали, что при большой разнице размеров изображения билинейная интерполяция не годится -- будут артефакты, наиболее заметные в видео. Hеобходимо предварительно примененить к исходному изображению anti-aliasing Gaussian blur filter длиной в 2-8 раза превышающей отношение размерностей изображения, т.е. для отношения 1:8 нужен фильтр в 15-65 тапов. Для того, чтобы края выглядели прилично, левый и правый край исходного изображения нужно зеркально отобразить (при горизонтальном масштрабировании; при вертикальном отображаются верх и низ). Если еще и хочется сохранить границы, то, если соседние точки сильно отличается, вместо результата фильтра берется одна из точек. Вот, н-р, коэффициенты гауссова блюр-фильтра длины 15 c сигма = 3.0 и суммой коэффициентов (gain) =128: Filter[15] = {1, 2, 4, 7, 10, 14, 17, 18, 17, 14, 10, 7, 4, 2, 1}. При использовании этого фильтра горизонтальное масштабирование выглядит след. образом: void BlurLine (short *Dst, short *Src, int Width) { int i; for (i = 0; i < Width; ++i) { int j, s; for (j = s = 0; j <= 15; ++j) s += Src[i + j - 8] * Filter[j]; Dst[i] = s >> 7; } } Hу а уж потом билиненейная интерполяция... Так что писать правильный resizing меня научили, но с этого легче не становится -- геморрой тот еще. Удачи, АК --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/65779fdff524.html, оценка из 5, голосов 10
|