Первое изображение в 4-канальном формате RGBA с совершенно бессмысленным, полностью непрозрачным альфа-каналом, который вы можете игнорировать.
Второе изображение в 2-канальном формате Grey + Alpha, где все пиксели чисто черного цвета, а формы определены только в альфа-канале.
Итак, в основном вы хотите:
удалить последний канал первого изображения, что можно сделать с помощью cv2.IMREAD_COLOR
удалить все, кроме последнего канала второго изображения, что вы можете сделать так:
im = cv2.imread('2.png',cv2.IMREAD_UNCHANGED)[:,:,-1]
Я получил вышеуказанную информацию с помощью ImageMagick , который входит в большинство дистрибутивов Linux и доступен в macOS и Windows.
Команда, которую я использовал в Терминале:
magick identify -verbose 2.png
Пример вывода
Image: 2.png
Format: PNG (Portable Network Graphics)
Mime type: image/png
Class: DirectClass
Geometry: 1040x1533+0+0
Units: Undefined
Colorspace: Gray
Type: Bilevel
Base type: Undefined
Endianess: Undefined
Depth: 8-bit
Channel depth:
Gray: 1-bit <--- Note 1
Alpha: 8-bit <--- Note 1
Channel statistics:
Pixels: 1594320
Gray:
min: 0 (0) <--- Note 2
max: 0 (0) <--- Note 2
mean: 0 (0)
standard deviation: 0 (0)
kurtosis: -3
skewness: 0
entropy: 4.82164e-05
Alpha:
min: 0 (0) <--- Note 3
max: 255 (1) <--- Note 3
mean: 50.3212 (0.197338)
standard deviation: 101.351 (0.397456)
kurtosis: 0.316613
skewness: 1.52096
entropy: 0.0954769
...
...
Я пометил стрелками и примечаниями справа вверху.
Примечание 1: Это говорит о том, что изображение серого цвета + альфа
Примечание 2. Это говорит о том, что все пиксели в оттенках серого являются черными, поскольку максимум равен нулю, а минимум равен нулю
Примечание 3. Это говорит о том, что есть некоторые полностью прозрачные пиксели и некоторые полностью непрозрачные пиксели