Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Основа работы с изображениями

Автор:   •  Май 18, 2023  •  Лабораторная работа  •  523 Слов (3 Страниц)  •  109 Просмотры

Страница 1 из 3

Инженерная школа информационных технологий и робототехники

Направление 09.04.01 «Информатика и вычислительная техника»

Отделение информационных технологий

Лабораторная работа 1:

Основа работы с изображениями

по дисциплине: Машинное обучение

Выполнил: студент гр.                8ВМ11        ____________        Ермаков Д.Д.[pic 1]

(Номер группы)        (Подпись)                (Ф.И.О.)

Проверил:                        доцент ОИТ        ___________        Друки А.А.

(Подпись)                (Ф.И.О.)

[pic 2]

Цель работы

Получить навыки работы с изображениями в платформе Google Colab на примере выделения границ на изображении.

Задание

1.        Получение навыков работы с Google Colab и веб-оболочкой iPython Notebooks;

2.        Получение навыков обработки изображений;

3.        Применение оператора Собеля для решения задачи выделения границ на изображении.

Ход работы

Создадим новый блокнот в Google Colab и импортируем исходное изображение.

Подключим необходимые для работы с изображениями библиотеки:

from PIL import Image

import matplotlib.pyplot as plt

Загрузим исходное изображение и отобразим его (рис. 1).

from google.colab import drive

drive.mount('/content/drive')

img_original = Image.open(

      r"./drive/My Drive/ML/spaniel.jpg")

plt.imshow(img_original)

[pic 3]

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

Импортируем библиотеку numpy:

import numpy as np

Преобразуем исходное изображение в numpy-массив:

img_np = np.array(img_original)

Преобразуем изображение в градации серого, используя стандарт ITU-R BT.709. Формула преобразования:

[pic 4]

Формула преобразования представляет скалярное произведение вектора коэффициентов на вектор, элементами которого являются цвета пикселя. Выполним преобразование и отобразим полученное изображение (рис. 2):

bt709_koeff = [0.2290.5870.114]

img_gray_bt709 = np.dot(img_np[...,:3], bt709_koeff) 

plt.imshow(img_gray_bt709, cmap='gray')

[pic 5]

Рисунок 2 – Изображение в градациях серого

Определим функцию, выполняющую операцию свёртки:

def convultion3x3(input_imagekernel):

  result = np.zeros(input_image.shape)

  for row in range(1len(result)-1):

    for col in range(1len(result[0])-1):

      input_segment = input_image[row-1:row+2, col-1:col+2]

      result[row, col] = np.abs(np.sum(input_segment * kernel))

  return result

...

Скачать:   txt (5.5 Kb)   pdf (507.5 Kb)   docx (1 Mb)  
Продолжить читать еще 2 страниц(ы) »
Доступно только на Essays.club