Создан заказ №2026069
21 августа 2017
Параллельные алгоритмы масштабирования изображений
Как заказчик описал требования к работе:
Курсовая - междисциплинарная, поэтому конкретной привязки к предмету нет. В прикрепленных файлах - работы на аналогичную тему научного руководителя - можно использовать в качестве одного из источников и как ориентир.
Фрагмент выполненной работы:
Введение
Масштабирование изображений используется в широком спектре компьютерных программ. Масштабирование необходимо в графических редакторах, компьютерной графике, обработке видео и во многих других случаях. Масштабирование изображения может быть выполнено в двух направлениях: уменьшение разрешения (downscaling) и увеличение разрешения (upscaling). Часто при масштабировании изображений возникает необходимость не просто увеличить или уменьшить разрешение изображения, но и изменить при этом соотношение сторон изображения. (работа была выполнена специалистами Автор 24) То есть с разной степенью масштабировать по горизонтали и вертикали.
Растровые изображения состоят из пикселей. Если необходимо увеличить размер изображения, нужно увеличить его разрешение, другими словами, нужно увеличить количество пикселей. Таким образом, возникает проблема, где получить информацию о новых пикселях, если они не представлены в исходном изображении. Решение этой проблемы - интерполяция.
Интерполяция - это процесс определения значений функции в точках, лежащих между ее известными значениями. Это достигается путем определения непрерывной функции, проходящей через дискретный набор известных значений, что позволяет оценивать искомые значения в произвольных позициях, а не только тех, которые определены выборкой входных данных. Интерполяция действует обратно дискретизации. В то время как при дискретизации непрерывная функция преобразуется в дискретную, интерполяция восстанавливает сигнал, потерянный в процессе дискретизации, путем сглаживания входных данных с помощью функции интерполяции.
В памяти компьютера растровое изображение хранится в виде двумерного массива точек. Для того чтобы изменить разрешение изображения, необходимо изменить размерность этого массива, и соответственно, данные, содержащиеся в нём. В случае уменьшения изображения, эта задача не кажется сложной, потому что начальный массив содержит избыток информации. Но в случае увеличения разрешения возникает проблема получения новых данных, для чего и используются интерполяционные методы. Важно понимать, что при интерполяции в изображение не добавляется новых деталей и новой «полезной» информации. Изображение, изначально полученное в высоком разрешении, всегда более предпочтительно с точки зрения качества, чем изображение, полученное путём масштабирования с низкого разрешения до высокого.
Интерполяционные методы широко используются для решения различных математических задач. Существует множество методов интерполяции. Наиболее известными являются следующие методы интерполяции изображений: бикубическая интерполяция, билинейная интерполяция, ступенчатая интерполяция (интерполяция методом ближайшего соседа). Эти методы перечислены в порядке уменьшения вычислительной трудоёмкости и, соответственно, в порядке снижения качества результирующего изображения.
Основным объектом исследования в данной работе является метод бикубической интерполяции, поскольку, среди перечисленных выше, этот метод является наиболее предпочтительным с точки зрения гладкости получающегося изображения. Однако ступенчатая интерполяция и бикубическая интерполяция будут также рассмотрены с целью сравнения качества и времени обработки изображений.
От скорости выполнения алгоритмов интерполяции напрямую зависят возможности их практического применения. Часто требуется масштабировать изображения в реальном времени, например, при воспроизведении видео. Скорость же выполнения алгоритмов напрямую зависит от производительности процессора. Рост производительности процессоров в основном обеспечивается оптимизацией микроархитектуры и совершенствованием технического процесса производства, то есть уменьшением физического размера компонентов. Однако уменьшение размера транзисторов и увеличение плотности их расположения приводят к множеству проблем, таких как увеличение стоимости производства, затруднение отвода тепла. К тому же невозможно бесконечно уменьшать размер элементов микросхем, так как этому препятствуют различные физические ограничения. Таким образом уже сейчас рост производительности процессоров обеспечивается во многом за счёт увеличения количества ядер. Нет сомнений, что эта тенденция сохранится в будущем. Поэтому для эффективного использования вычислительных ресурсов компьютера необходимо использовать многопоточные вычисления.
В рамках данной выпускной квалификационной работы была поставлена цель - разработать эффективный параллельный алгоритм масштабирования изображений методом бикубической интерполяции, а также создать приложение с графическим пользовательским интерфейсом для демонстрации работы алгоритма и исследования масштабируемости производительности алгоритма при его распараллеливании.
Для достижения этой цели необходимо решить задачи:
Изучить предметную область задачи;
Изучить математическую базу бикубической интерполяции функций
Изучить особенности обработки цифровых изображений
Разработать параллельный алгоритм бикубической интерполяции изображениПосмотреть предложения по расчету стоимости
Заказчик
заплатил
заплатил
500 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
Автор24
20 дней
Заказчик воспользовался гарантией, чтобы исполнитель повысил уникальность работы
24 августа 2017
Заказ завершен, заказчик получил финальный файл с работой
5
Параллельные алгоритмы масштабирования изображений.docx
2017-08-27 09:32
Последний отзыв студента о бирже Автор24
Общая оценка
4
Положительно
Работа выполнена была раньше срока на 1 день, после моего просмотра Автор дал пояснения по всем, интересовавшим меня, вопросам. Работа сдана на оценку 4, что в принципе меня устраивает! Спасибо!