Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
семестр 2 / Задания ИТиП 2 семестр.docx
Скачиваний:
0
Добавлен:
13.05.2026
Размер:
28.8 Кб
Скачать

Загрузка файлов в Colab (на примере архива с изображениями деревьев)

import os

if not os.path.exists('NoTrees'):

!gdown 1yPAs-3H5gQGdM02KFiZKwVHT4AM_yeiI

!unzip /content/Trees.zip

!rm -rf /content/Trees.zip

Описание:

Условие проверяет, что файлы ещё не загружены (нет папки NoTrees)

!gdown – скачивает файл с google drive по его индексу (можно найти в ссылке):

https://drive.google.com/file/d/индекс/view?usp=sharing

!unzip – разархивировать архив по указанному пути

!rm – удаление ненужных файлов (в данном случае сам архив после извлечения файлов)

Лабораторная работа № 1. Работа с изображениями

Цель работы: Освоение ввода, изменения изображений, вывода на экран.

Задание. Дано изображение:

https://upload.wikimedia.org/wikipedia/commons/8/82/UEIT_captured.jpg

Написать программу на python, выполняющую следующие действия:

  1. Найти и вывести на экране размер изображения.

  2. Вывести на экране изображение

  3. Создать негативное изображение

  4. Создать копию части изображения согласно последней цифре j по приведённой схеме:

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

  5. Вывести на экране только один канал изображения в виде ч/б изображения (в градациях серого) согласно последней цифре j:

0 - 3: красный, 4 - 6: зелёный, 7-9: синий

  1. Создать копию изображения и изменить её так, чтобы пиксели, не удовлетворяющие условию, стали чёрными. Вывести её на экране. Условия по последней цифре j:

0,4,7: красный ярче, чем зелёный и красный ярче чем синий 1,5,8: синий темнее, чем красный и зелёный суммарно 2,6,9: зелёный ярче, чем красный, но тусклее, чем синий 3: среднее арифметическое значение компонент больше 128

Если последняя цифра в j 0-4, каждый пункт должен быть отдельной функцией

Если последняя цифра в j 5-9, своих функций создавать не нужно.

Примечание:

Для загрузки изображений используется модуль из пакета scikit-image:

import skimage

Функция модуля, загружающая изображение, называется:

io.imread('название файла')

Изображение представляется в виде таблицы цветных точек, каждая точка представлена тремя значениями в пространстве RGB (Red - красный, Green - зелёный, Blue - синий). Каждое значение -- это число от 0 (тёмный) до 255 (яркий). Таким образом, набор (255, 0, 0) -- это красный цвет, (128,128, 128) - серый (одинаковая яркость всех компонент), (255, 255, 255) - белый.

В python изображение представляется в виде трёхмерного массива numpy. Каждый элемент массива -- это значение одного компонента одного пикселя, при этом первый индекс отвечает за номер строки, второй - за номер столбца, третий - за номер компоненты (0 - красный, 1 - зелёный, 2 - синий) Например, зелёную компоненту 10 пикселя по вертикали и 20-го по горизонтали можно получить как:

img[10, 20, 1]

где img -- массив с изображением.

Вывести изображение на экран можно с помощью функции imshow модуля matplotlib.pyplot:

import matplotlib.pyplot as plt

import skimage

img = skimage.io.imread('img.png')

print(img[10,20,:]) # Вывод значения пикселя в координатах (10,20)

plt.imshow(img)

plt.show()

Соседние файлы в папке семестр 2