Чтобы получить доступ к пиксельным данным в изображениях Python, вы можете использовать функцию imread() модуля OpenCV.
Пример использования функции imread()
|
1 2 3 4 5 6 |
import numpy as np import cv2 img = cv2.imread('forest.jpg', 1) print(img) |
Выход
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
[[[231 204 178] [226 199 173] [227 200 174] ... [218 188 153] [218 188 153] [219 189 154]] [[227 200 174] [224 197 171] [228 201 175] ... [216 186 151] [214 184 149] [212 182 147]] [[224 197 171] [223 196 170] [228 201 175] ... [215 185 150] [212 182 147] [209 179 144]] ... [[ 42 94 131] [ 52 105 142] [ 84 144 180] ... [ 51 55 56] [ 53 50 52] [ 47 42 44]] [[ 61 96 139] [ 44 84 126] [ 64 113 153] ... [ 37 42 43] [ 39 36 38] [ 41 34 37]] [[ 29 56 100] [ 33 67 110] [ 45 87 130] ... [ 34 39 40] [ 38 35 37] [ 48 41 44]]] |
Вы можете видеть, что напечатан массив.
Доступ к пикселям изображения с помощью массива numpy
Чтобы получить доступ к любым пикселям изображения, вы можете использовать обозначение среза в массиве img.
|
1 2 3 4 5 6 |
import numpy as np import cv2 img = cv2.imread('forest.jpg', 1) print(img[11, 21]) |
Выход
|
1 |
[226 201 175] |
Мы обращаемся к 11-й строке и 21-му столбцу, а взамен получаем массив, значения пикселей которого равны 226, 201 и 175 в этом массиве.
Чтобы найти общее количество пикселей изображения, используйте свойство size массива numpy.
|
1 2 3 4 5 6 |
import numpy as np import cv2 img = cv2.imread('forest.jpg', 1) print(img.size) |
Выход
|
1 |
72000000 |
Это означает, что наше изображение имеет в общей сложности 72 000 000 пикселей.
