Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

mathcad kursa4 / Курсовая работа ИТ

.docx
Скачиваний:
0
Добавлен:
25.09.2025
Размер:
1.35 Mб
Скачать

МИНОБРНАУКИ РОССИИ

Санкт-Петербургский государственный

электротехнический университет

«ЛЭТИ» им. В.И. Ульянова (Ленина)

Кафедра РС

Курсовая РАБОТА

по дисциплине «Информационные технологии»

Тема: Обработка изображений в среде Mathcad

Вариант №5

Студент гр. фыв

фыв

Преподаватель

Лучшая женщина во всем мире<3

Санкт-Петербург

2024

Задание

Разработать программу в среде Mathcad, осуществляющую следующую обработку изображения:

  • загрузка цветного изображения формата JPEG (имя файла указывается пользователем)

  • преобразование в полутоновое изображение и отображение на экране

  • построение гистограмм интенсивностей с возможностью изменения количества интервалов

  • для исходного цветного изображения произвести поворот на заданный угол, результаты выводить на экран

  • для полутонового изображения произвести обрезку по заданным параметрам

  • результат обработки изображения записать в файл

Содержание

1. Загрузка цветного изображения формата JPEG 5

2. Преобразование в полутоновое изображение и отображение на экране 7

3. Построение гистограмм интенсивностей с возможностью изменения количества интервалов 10

4. Поворот исходного цветного изображения на заданный угол и вывод его на экран 14

5. Тримминг полутоновой картинки согласно заданным параметрам 17

6. Заключение 19

Введение

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

Задачи работы:

  1. загрузка изображения различных форматов в среду Mathcad;

  2. преобразование исходного изображения в полутоновое;

  3. построение гистограммы интенсивности изображений;

  4. поворот цветного изображения на заданный угол;

  5. обрезка полутонового изображения;

  6. сохранение результатов в файл.

  1. Загрузка цветного изображения формата JPEG

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

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

Рисунок 1. Загрузка изображения в Mathcad и отображение матриц

За загрузку изображения в среду Mathcad отвечает функция READRGB(“file”), где READRGB – сама функция, “file” - строковое значение, представляющее путь к файлу изображения. Она возвращает матрицу, состоящую из красного, синего и зеленого компонентов RGB в формате файла .bmp. Новая матрица содержит вплотную упакованные матрицы R, G и B. img1 и img2 – это матрицы изображений. Если значения элементов не превышают диапазон 0-255, то они записываются как 8-миразрядные, если значения >255, то как 16-тиразрядные.

  1. Преобразование в полутоновое изображение и отображение на экране

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

Для преобразования цветного исходного изображения, загруженного из файла, в полутоновое используется функция rgb_to_gray(“file”), где READRGB – сама функция, “file” - строковое значение, представляющее путь к файлу изображения. функция rgb_to_gray возвращает двумерный массив, где каждый элемент массива представляет интенсивность серого цвета одного пикселя изображения. Этот массив имеет размерность m*n, где m и n - это количество строк и столбцов пикселей в изображении.

Рисунок 4. Функции сохранения полутонового изображения в формате .bmp

Вывод полутонового изображения на экран предполагает обращение к файлу изображения. Чтобы сохранить полученное полутоновое изображение, нужно воспользоваться функцией WRITEBMP(“file”, pic), где “file” - это строковое значение, представляющее путь и имя файла, в который будет сохранено изображение, файл должен иметь расширение .bmp, pic - это двумерный массив, представляющий изображение. Размерность массива должна соответствовать размерам изображения.

Рисунок 5.1. Отображение изборажения в документе Mathcad

Чтобы отобразить получившееся изображение в Mathcad, нужно нажать на ленте вкладку «Математика», затем «Изображение», на месте курсора появится панель «Выбрать изображение…», и, нажав на нее, выбрать нужный файл.

Рисунок 6.2. Полутоновый вариант 2-ого исходного изображения

Рисунок 6.1. Полутоновый вариант 1-ого исходного изображения

Рисунок 5.2. Панель для выбора и вставки изображения

  1. Построение гистограмм интенсивностей с возможностью изменения количества интервалов

Рисунок 7.1. Гистограмма интенсивности для 1-ого исходного рисунка

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

  1. n := 256 — Задается число уровней яркости (256) для гистограммы. Это означает, что изображение будет иметь 256 различных значений яркости, от 0 до 255.

  2. H1 := imhist(img, n) — Функция imhist вычисляет гистограмму изображения img с n уровнями яркости. Результат сохраняется в массив H1.

  3. k1 := 0..rows(H1)-1 — Задается диапазон значений для цикла, который будет использоваться для изменения яркости изображения. rows(H1) возвращает количество строк в массиве H1, поэтому k1 принимает значения от 0 до rows(H1)-1.

  4. Рисунок 7.3. Гистограмма интенсивности для 1-ого полутонового изображения

    Рисунок 7.2. Гистограмма интенсивности для 2-ого исходного изображения

    range1 := k1 — Создается массив range1, который будет использоваться для хранения измененных значений яркости изображения. Изначально он инициализируется значениями из k1.

Рисунок 7.4. Гистограмма интенсивности для 2-ого полутонового изображения

  1. Поворот исходного цветного изображения на заданный угол и вывод его на экран

Рисунок 8.1. img1, повёрнутое на 52 градуса против часовой стрелки

Рисунок 8.2. img2, повёрнутое на 200 градусов против часовой стрелки

Чтобы повернуть изображение, нужно его загрузить, извлечь его красный, зеленый и синий каналы, повернуть каждый канал на заданный угол и сохранить повернутое изображение в файл. ImR1 := READ_RED(PIC1) — эта команда извлекает красный канал изображения PIC1 и присваивает его переменной ImR1, с другими цветами аналогично. angle1 := 52 — эта строка присваивает переменной angle1 значение 52, которое представляет угол поворота изображения против часовой стрелки. temp1 := augment(rotate (ImR1, angle1), rotate (ImG1, angle1), rotate (ImB1, angle1)) — эта команда выполняет поворот каждого канала изображения (красного, зеленого и синего) на угол angle1. Затем она объединяет повернутые каналы в одно изображение с помощью функции augment и присваивает результат переменной temp1. WRITERGB("C:\Users\pavel\Desktop\KURSA4\img1_52.jpg", temp1) = 0 — эта команда записывает изображение temp1 в файл img1_52.jpg.

Рисунок 9.2. Часть кода, для поворота img2 на 200 градусов против часовой стрелки

Рисунок 9.1. Часть кода, для поворота img1 на 52 градуса против часовой стрелки

Вывод изображений на экран описан выше (Рисунок 5.1, Рисунок 5.2).

  1. Тримминг полутоновой картинки согласно заданным параметрам

Рисунок 10. Код для обрезки и сохранения полутоновых изображений

Рисунок 11.1. Обрезанное полутоновое изображение gray1

Рисунок 11.1. Обрезанное полутоновое изображение gray2

В данном случае выполняется обрезка (субматрицы) изображения и сохранение полученных областей в виде файлов BMP. Сначала задаются координаты области изображения, которую нужно вырезать: y1_from и x1_from и определяют начальную точку, а y1_to и x1_to – конечную. Аналогично для второго полутонового изображения gray2. Затем с помощью функции submatrix создаются субматрицы gray1_cut и gray2_cut из исходного изображения gray. Функция submatrix принимает исходную матрицу и координаты области, которую нужно вырезать. После обрезки областей изображения, они записываются в файлы BMP с помощью функции WRITEBMP. В данном примере gray1_cut сохраняется в файл gray1_cut.bmp, а gray2_cut - в файл gray2_cut.bmp. Кроме того, указывается путь для сохранения файлов.

  1. Заключение

В ходе выполнения данной лабораторной работы была разработана программа в среде Mathcad, в которой была реализована загрузка изображения, преобразование цветного изображения в полутоновое изображение, которое позволяет упростить изображение, а также сократить объем данных, упростить обработку, улучшить контраст и читаемость. Также были созданы гистограммы интенсивности серого цвета для определения яркости. Поворот исходного цветного изображения позволяет изменять ориентацию изображения для удобства просмотра или дальнейшей обработки. Обрезка полутонового изображения по заданным параметрам позволяет вырезать нужные области изображения и сохранять их для дальнейшего использования.

Соседние файлы в папке mathcad kursa4