Скачиваний:
0
Добавлен:
13.05.2026
Размер:
1.87 Кб
Скачать
import numpy
import matplotlib.pyplot as plt
import numpy as np
import skimage

# Загрузка изображения
img = skimage.io.imread('lab1.jpg')

# Отображение размеров изображения
print(f"Данное изображение имеет размер {img.shape[1]}x{img.shape[0]}")

# Вывод изображения на экран
plt.figure(1)
plt.title("Изначальное изображение")
plt.imshow(img)

# Создание и вывод негативного изображения
negimg = np.asarray([[[255 for _ in range(3)] for _ in range(len(img[0]))] for _ in range(len(img))])
negimg = negimg - img

plt.figure(2)
plt.title("Изображение в негативе")
plt.imshow(negimg)

# Создание... чего-то? tbh I'm confused af
w = int(len(img[0]) / 5) # Ширина одного квадрата
h = int(len(img) / 6) # Длина одного квадрата
img_crop = img[h * 4:h * 5, w * 2:w * 3, :]

plt.figure(3)
plt.imshow(img_crop)
plt.title("Обрезок изображения")

# Вывод только синего канала изображения
img_blue = np.copy(img)
for i in range(len(img_blue[0][0])):
img_blue[:, :, i] = img_blue[:, :, 2]

plt.figure(4)
plt.imshow(img_blue)
plt.title("Только синий канал изображения")

# Замена пикселей по условию
img_rule = np.copy(img)

for i in range(img_rule.shape[0]):
for j in range(img_rule.shape[1]):
if not (img_rule[i, j, 0] > img_rule[i, j, 1] and img_rule[i, j, 0] > img_rule[i, j, 2]):
img_rule[i, j, :] = np.zeros(3)

plt.figure(5)
plt.imshow(img_rule)
plt.title("Изображение с изменёнными пикселями по условию")
plt.show()
Соседние файлы в папке лабы