Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Алгоритмы > Срочно! Субдискретизация изображений |
Автор: andyag 13.06.02, 12:32 |
Как реализуется субдискретизация изображений? Есть, например, картинка 100x100, состоящая из трех каналов Y, U и V. Субдискретизация по схеме 4:4:4 - значит оставить все без изменений. По схеме 4:2:2 - значит канал Y не трогать, а каналы U и V уменьшить "по габаритам" в 2 раза? Т. е. если было 3 канала размером по 100x100 пикселей, то должно получиться: 1 канал 100x100 и 2 канала 50x50? Т. е. нужно просто написать функцию для масштабирования этих каналов? |
Автор: Demo_S 13.06.02, 13:48 |
угу. примерно так:) только вот в жпеге например потом делают такую штуку: обьединяют некоторое количество участков, так, чтобы каналы были как исходные. то есть, если ты сделал масштабирование для 16х16, для канала Y осталось 16х16 а для U и V 8х8 то обьединяют четыре блока , так чтобы в сумме для U было 16х16и для Vбыло 16х16 то есть, охватываются сразу четыре блока 16х16. а для Y понятно будет 4 раза по 16x16. |
Автор: andyag 13.06.02, 14:46 |
Цитата Demo_S, 13.06.02, 17:48:08 угу. примерно так:) только вот в жпеге например потом делают такую штуку: обьединяют некоторое количество участков, так, чтобы каналы были как исходные. то есть, если ты сделал масштабирование для 16х16, для канала Y осталось 16х16 а для U и V 8х8 то обьединяют четыре блока , так чтобы в сумме для U было 16х16и для Vбыло 16х16 то есть, охватываются сразу четыре блока 16х16. а для Y понятно будет 4 раза по 16x16. Я, кажется, лажанулся в своей мессаге. 4:2:2 - это, типа, не габариты, а _площадь_, т. е из 4 пикселей сделать 2, т. е. из 2x2 сделать sqrt(2) x sqrt(2). Или меня глючит? Блин, а статейки нет на эту тему? |
Автор: GrAnd 14.06.02, 09:11 |
по моему на самом деле все выглядит немого по другому. Для уменьшения размера т.е. из 4 точек (2Х2) делать не sqrt(2) на sqrt(2). Берется усреднение в прямом смысле этого слова. И из 4 точек получается либо 1 (усреднение по обоим координатам 1х1) либо уже 2 по одной из координат (1х2) или (2х1). Если надо подробней сообщи, подберу, что-нибудь. ;D ;D ;D |
Автор: Demo_S 14.06.02, 13:13 |
Цитата andyag, 13.06.02, 18:46:27 Блин, а статейки нет на эту тему? а на кой тебе эта субдискретизация нужна. если для жпега, то см доку по жпегу http://www.sources.ru/cpp/graphics/jpeg_doc.rar |
Автор: andyag 14.06.02, 15:14 |
Цитата Demo_S, 14.06.02, 17:13:40 а на кой тебе эта субдискретизация нужна. если для жпега, то см доку по жпегу http://www.sources.ru/cpp/graphics/jpeg_doc.rar Не совсем по жпегу, хотя почти. Алгоритм похожь на жпег, но, только есть несколько новых фишек, преобразование "не совсем DCT", и больше возможностей по настройке. Большинство фишек уже написано, вот надо теперь субдискретизацию прикрутить... :-) |
Автор: andyag 14.06.02, 15:18 |
Цитата GrAnd, 14.06.02, 13:11:57 по моему на самом деле все выглядит немого по другому. Для уменьшения размера т.е. из 4 точек (2Х2) делать не sqrt(2) на sqrt(2). Берется усреднение в прямом смысле этого слова. И из 4 точек получается либо 1 (усреднение по обоим координатам 1х1) либо уже 2 по одной из координат (1х2) или (2х1). Если надо подробней сообщи, подберу, что-нибудь. ;D ;D ;D То, как ты описал позволит сделать только несколько прошитых вариантов, т. е. комбинации 4, 3, 2, 1, 0. А хотелось бы побольше вариантов, т. е. если использовать блоки не 2x2, а больше... Хотя... Какой смысл? 256:255:255 как-то глупо смотрится. :-) |
Автор: Demo_S 14.06.02, 20:19 |
но ты все таки посмотри, как оно в жпеге реалзовано, может полегче станет, велосипеды разные изобретать не придется:))) а насчет прошитиых вариантов, тебе их что, не хватает? 2x1 3x1 4x1 2x2 3x2 3x3 4x4 ... |
Автор: andyag 14.06.02, 20:30 |
Цитата Demo_S, 15.06.02, 00:19:31 но ты все таки посмотри, как оно в жпеге реалзовано, может полегче станет, велосипеды разные изобретать не придется:))) а насчет прошитиых вариантов, тебе их что, не хватает? 2x1 3x1 4x1 2x2 3x2 3x3 4x4 ... Наверно, так и сделаю :-) |
Автор: GrAnd 17.06.02, 03:54 |
Ну вот. После "бурных" дебатов, нашли наконец-то решение над "трудной" задачей ;D ;D ;D |
Автор: Demo_S 17.06.02, 05:19 |
Цитата GrAnd, 17.06.02, 07:54:29 Ну вот. После "бурных" дебатов, нашли наконец-то решение над "трудной" задачей ;D ;D ;D Типа: последнее слово мое (с) модератор:) |
Автор: GrAnd 17.06.02, 09:40 |
Да нет с чего ты так. Просто радуюсь, что помогли человеку чем смогли. P.S. Спасибо тебе за поздравления. ;D ;D ;D |
Автор: andyag 22.06.02, 14:11 |
Ходят слухи, что субдискретизации 4->3 не бывает (4:3:3), а бывает только 4->0, 4->1, 4->2, 4->4. |
Автор: GrAnd 24.06.02, 06:33 |
Да нет бывать, то она бывает. Проблема только в том, что обычно переход делают по степеням двойки 0->1->2->4->... А для 4->3 немного геморно все это реализовывать ;D ;D ;D |