Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 23(235)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6

Библиографическое описание:
Тришин Е.А. АНАЛИЗ И УСОВЕРШЕНСТВОВАНИЕ АЛГОРИТМА ПОВОРОТА ИЗОБРАЖЕНИЯ С ПОМОЩЬЮ БИЛИНЕЙНОЙ ИНТЕРПОЛЯЦИИ // Студенческий: электрон. научн. журн. 2023. № 23(235). URL: https://sibac.info/journal/student/235/296451 (дата обращения: 30.12.2024).

АНАЛИЗ И УСОВЕРШЕНСТВОВАНИЕ АЛГОРИТМА ПОВОРОТА ИЗОБРАЖЕНИЯ С ПОМОЩЬЮ БИЛИНЕЙНОЙ ИНТЕРПОЛЯЦИИ

Тришин Евгений Алексеевич

студент, кафедра ЭВМ, Рязанский Государственный Радиотехнический Университет имени В.Ф. Уткина,

РФ, г. Рязань

ANALYSIS AND IMPROVEMENT OF THE IMAGE ROTATION ALGORITHM USING BILINEAR INTERPOLATION

 

Evgeniy Trishin

Student, Ryazan State Radio Engineering University named after V.F. Utkin,

Russia, Ryazan

 

АННОТАЦИЯ

Статья описывает проблемы, которые могут возникнуть при повороте изображения с помощью матрицы поворота, такие как искажения и потеря качества изображения, а также предлагает решение этой проблемы с помощью билинейной интерполяции.

ABSTRACT

The article describes the problems that can arise when rotating an image using a rotation matrix, such as distortion and loss of image quality, and also offers a solution to this problem using bilinear interpolation.

 

Ключевые слова: матрица поворота, искажения, потеря качества, билинейная интерполяция, обработка изображений.

Keywords: rotation matrix, distortion, loss of quality, bilinear interpolation, image processing.

 

Введение

Современные камеры и мобильные устройства позволяют нам делать фотографии в любом углу и положении, однако часто возникает проблема неправильного ориентирования изображения. В таких случаях необходимо повернуть фото на нужный угол, чтобы оно выглядело эстетично и было удобно использовать. В данной статье мы рассмотрим усовершенствование алгоритма поворота изображения на пользовательский угол, которое позволит сделать этот процесс более точным и удобным для пользователей.

Реализация поворота

Для поворота изображения на определенный угол мы можем использовать матрицу поворота. Эта матрица представляет собой двумерный массив чисел, который позволяет изменять координаты точек на изображении.

Для поворота изображения на угол α мы можем использовать следующую матрицу поворота:

Эта матрица умножается на координаты каждой точки изображения, чтобы получить новые координаты, соответствующие повернутому изображению.

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

 

Рисунок 1. Исходное изображение

 

Для теста повернем изображение на 45 градусов, через реализованную программу:

 

Рисунок 2. Поворот изображения на 45 градусов

 

Как мы видим, картинка повернулась, но с искажениями.

Одним из способов устранения этих артефактов является использование билинейной интерполяции.

Билинейная интерполяция - это метод интерполяции, который используется для определения значения функции в точке, находящейся между двумя известными точками. В контексте поворота изображения с помощью матрицы поворота, билинейная интерполяция используется для определения цвета пикселя в новой координате, которая может быть не целочисленной.

Для применения билинейной интерполяции к повернутому изображению, необходимо выполнить следующие шаги:

1. Вычислить новые координаты для каждого пикселя в повернутом изображении с помощью матрицы поворота.

2. Определить четыре ближайших пикселя к новой координате.

3. Определить расстояние между новой координатой и каждым из ближайших пикселей.

4. Вычислить взвешенное среднее значение цвета четырех ближайших пикселей на основе расстояния до новой координаты.

Этот процесс повторяется для каждого пикселя в повернутом изображении, чтобы получить новое изображение без искажений.

 

Рисунок 3. Поворот изображения с билинейной интерполяцией

 

Заключение

Таким образом, билинейная интерполяция помогает устранить искажения и потерю качества изображения, которые могут возникнуть при повороте изображения с помощью матрицы поворота. Этот метод является эффективным способом улучшения качества повернутых изображений и может быть использован в различных приложениях, таких как обработка изображений, компьютерное зрение и графический дизайн.

 

Список литературы:

  1. Анисимов, Б.В. Распознавание и цифровая обработка изображений: моногр. / Б.В. Анисимов, В.Д. Курганов, В.К. Злобин. - М.: [не указано], 2016. - 968 c.
  2. Прэтт, У. Цифровая обработка изображений (том 2) / У. Прэтт. - М.: [не указано], 2008. - 836 c.

Оставить комментарий