Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
#1

Масштабирование - C++

05.01.2012, 00:25. Просмотров 1908. Ответов 8
Метки нет (Все метки)

Здравствуйте.
Не могли бы вы подсказать реализацию/теорию(где почитать) про алгоритмы масштабирования? У меня есть монохромные матрицы из нулей-единиц, которые надо растянуть/уменьшить, привести к эталонной. Думаю, подойдут даже самые простейшие алгоритмы с большими искажениями.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.01.2012, 00:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Масштабирование (C++):

Масштабирование на Canvas - C++
Здравствуйте , в универе дали задачку которая поставила в ступор.В чём суть : есть множество точек ,нужно вывести их на канву и по некому...

масштабирование геометрических фигур - C++
Было задание: Построить систему классов для описания плоских геометрических фигур: круг, квадрат, прямоугольник. Предусмотреть методы...

Автоматической масштабирование графика - C++
Не могу понять как реализовать масштабирование, чтобы при больших/малых значениях функции происходило автоматическое масштабирование как...

Масштабирование графика функции - C++
Здравствуйте. Написал программу, строящую один из трех графиков функции в зависимости от выбора пользователя. Программа работает, графики...

Масштабирование числовой прямой - C++
Незнаю куда запостить такой вопрос, поэтому в случае чего перенесите Имеется шкала(допустим от 0 до 88) как ее перевести в другую...

SDL2 BlitScaled и прозрачность - масштабирование изображения - C++
Здравствуйте. Пару дней назад начал работать с SDL2, возникла некоторая проблема, никак не могу масштабировать изображение с прозрачностью....

8
NoMasters
Псевдослучайный
1906 / 1117 / 77
Регистрация: 13.09.2011
Сообщений: 3,169
05.01.2012, 00:37 #2
Если с искажениями, то можно банально
C
1
2
3
float factor = 1.5;//коэффициен увеличения
...
out[i] = in[i / factor];
Для одномерного случая
1
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
05.01.2012, 00:47  [ТС] #3
Спасибо, сейчас попробую разобрать и переделать для двумерного.

Вопрос в главной строчке перобразования - как это?
Присвоить i-тому элементу выходного массива значение возможно нецелого элемента? В смысле, если i будет равно пяти - что получится?
0
ValeryS
Модератор
6961 / 5298 / 522
Регистрация: 14.02.2011
Сообщений: 17,866
05.01.2012, 00:53 #4
Цитата Сообщение от Eugene THE BEST Посмотреть сообщение
Не могли бы вы подсказать реализацию/теорию(где почитать)
поищи про Аппроксимацию
книги про компьютерную графику
была такая книга
"Обработка компьютерной графики на С"
просто книга "Компьютерная графика" там про ассемблер но теория обработки изображений хорошо изложена
завтра закину данные
посмотри про ДиректХ обработка при помощи матриц
1
NoMasters
Псевдослучайный
1906 / 1117 / 77
Регистрация: 13.09.2011
Сообщений: 3,169
05.01.2012, 00:54 #5
Будет каст к целому(отбрасыванием дробной части), т.е. 3
1
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
05.01.2012, 00:56  [ТС] #6
Нашел один способ в гуглокодах, но, чувствую, разбираться долго придется.
http://code.google.com/p/hqx/source/browse/trunk/src/hq2x.c
Вроде как разобрался с интерполяцией "методом ближайшего соседа", но никак не могу понять, как поступить, если нужно а) увеличивать/уменьшать в нецелое число раз и б) увеличение/уменьшение неоднородно, щирина с длиной изменяются в разное кол-во раз.
Помогите пожалуйста, очень нужно.
0
ValeryS
Модератор
6961 / 5298 / 522
Регистрация: 14.02.2011
Сообщений: 17,866
05.01.2012, 00:56 #7
Цитата Сообщение от Eugene THE BEST Посмотреть сообщение
В смысле, если i будет равно пяти - что получится?
хапнет из 4 элемента
5/1.5=3.33333 = 3 4 элемент
1
Eugene THE BEST
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
05.01.2012, 00:58  [ТС] #8
ValeryS, Спасибо, обязательно поищу эти книги.

NoMasters, Хорошо, спасибо, надо на практике проверить, подойдет ли такой способ по кач-ву, или много потеряется.
0
ValeryS
Модератор
6961 / 5298 / 522
Регистрация: 14.02.2011
Сообщений: 17,866
05.01.2012, 01:10 #9
посмотри
http://ermak.cs.nstu.ru/kg_rivs/graf.htm
сейчас взглянул мельком
вроде нормально описано при помощи матриц
http://ermak.cs.nstu.ru/kg_rivs/kg02.htm#tth_sEc0.1.1

Добавлено через 7 минут
для целого увеличения / уменьшения все просто
для увеличения из одной ячейки считаваешь сколько раз нужно увеличить
для уменьшения через ячейку, две,три
для дробного например в полтора раза - увеличил на три уменьшил на два
качество будет не ахти
если работаешь под виндой то можешь создать из своей матрицы картинку
масштабировать её методами GDI GDIPlus DirectX
и считать что получится
1
05.01.2012, 01:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2012, 01:10
Привет! Вот еще темы с ответами:

Масштабирование системы при использовании паттерна Singleton - C++
Добрый день, как доказать или опровергнуть, что архитектура теряет гибкость и расширяемость при активном использовании паттерна Singleton.

Урок геометрии, масштабирование изображений - C++
Задача: Есть картинка 100x100 px на которой нарисован смайлик необходимо наложить этот смайлик на другие фотографии, размер которых...

масштабирование! - HTML, CSS
привет! скажите, почему при масштабировании страницы (ctrl+scroll) на одних страницах происходит просто увеличение контента, а на других...

масштабирование - HTML, CSS
Здоровья Вам!!! прошу помощи! вот делаю такую карту http://namore.biz.ua/karta в Мазиле открывается как надо (с изменением курсора на...


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

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

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