Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

NoMasters, Хорошо, спасибо, надо на практике проверить, подойдет ли такой способ по кач-ву, или много потеряется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2012, 01:10     Масштабирование
Еще ссылки по теме:

Масштабирование - C++ Builder
Подскажите, пожалуйста, как увеличить изображение, полученное через Pixels, до размеров Image? Заранее спасибо. for(int i=0;i<NN;i++){...

Масштабирование - Pascal ABC
Задача вроде работает верно. Моя проблема в том, что не могу сделать масштабирование получившейся фигуры. Помогите с этой проблемой. ...

масштабирование - Matlab
не могли бы вы помочь с написанием функции масштабирования изображения в k раз(k не целое) ну или хотя бы подтолкнуть как это делать

масштабирование - Delphi
Скажите, что можно придумать, чтобы увеличив фигуру в 2 раза, потом можно было вернуть ее первоначальный вид, поставив в масштабе 1? :(...

Масштабирование - C++ Builder
Всем привет. Кто поможет разобраться с масштабированием? Например, есть фигура (круг) в канаве, как сделать так, чтобы при прокрутке...


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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,729
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
и считать что получится
Yandex
Объявления
05.01.2012, 01:10     Масштабирование
Ответ Создать тему
Опции темы

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