如何使用opencv

时间:2019-08-31 09:36:38

标签: python opencv rgba

我目前正在从一组图像中读取BGR值,

我使用了各种各样的读标志,但是我似乎无法将其作为BGRA。

我当前的代码是

import cv2
import os

#returns an list of images, list of x, list of y, list of BGR
def load_images_from_folder(folder):
    images = []
    for filename in os.listdir(folder):
        img = cv2.imread(os.path.join(folder,filename),flags=cv2.IMREAD_UNCHANGED)
        if img is not None:
            images.append(img)
    return images

这将返回一个array([245, 247, 255], dtype=uint8),而我所期望的是类似array([245, 247, 255, 0.2], dtype=uint8)

1 个答案:

答案 0 :(得分:2)

标志cv2.IMREAD_UNCHANGED不会添加一个Alpha通道,它只会保留现有通道。

由于图像均为JPG格式,因此您需要通过cvtColor添加第四个频道:

img = cv2.cvtColor(img, cv2.COLOR_BGR2BGRA)