Функция Python cv2.imread() считывает изображение, а 1 указывает на чтение в полном цвете, а затем преобразует это изображение в оттенки серого с помощью метода cv2.cvtColor().
Как фильтровать изображения в Python
Фильтрация пикселей изображения означает, что вы можете преобразовать изображение с помощью cv2 Python в из цветного в оттенки серого или добавить к изображению дополнительный слой. Чтобы преобразовать цветное изображение в изображение в градациях серого, используйте метод cv2.cvtColor(). Затем мы можем записать образ на диск с помощью функции cv2.imwrite().
|
1 2 3 4 5 6 7 8 |
# app.py import numpy as np import cv2 img = cv2.imread('data.png', 1) gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) |
Python cv2: как добавить новый канал в изображение
Чтобы добавить новый канал прозрачности, сначала разделите исходное изображение на три канала, а затем используйте функцию cv2.merge() и передайте четвертый канал в качестве четвертого параметра.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# app.py import numpy as np import cv2 img = cv2.imread('data.png', 1) b = img[:, :, 0] g = img[:, :, 1] r = img[:, :, 2] rgba = cv2.merge((b, g, r, g)) cv2.imwrite('rgba.png', rgba) |
В этом коде, если вы внимательно посмотрите на метод merge(), я передал четыре аргумента: b, g, r, g.
Четвертый g — это четвертый слой изображения. Добавив четвертый слой, мы отфильтровали изображение. Исходное изображение следующее.
![]()
После добавления четвертого слоя изображение выглядит следующим образом.
Выход:
![]()
На этом изображении rgba.png серая часть является прозрачной частью изображения. Тип изображения jpg не поддерживает слой; тип png поддерживает многослойное изображение. Итак, если вы читаете изображение в формате jpg и добавляете дополнительный слой к этому изображению, записывайте это изображение в файл png.
Если вы уже читаете изображения в формате png, вы можете оставить в формате png, но для jpg вам нужно преобразовать его в png.
Вы не можете использовать встроенный интерпретатор Python для просмотра этого изображения, поскольку он также не поддерживает многоуровневые изображения. Таким образом, вы должны использовать внешнее программное обеспечение для просмотра этого изображения.
