您的位置:首页 > 运维架构

opencv imread读取alpha通道

2013-12-16 15:04 232 查看
在使用opencv的python接口读取jpg,相对jpg图片透明处理时,需要处理其alpha通道

可以用时imread接口

origin_image = cv2.imread(image_path, cv2.CV_LOAD_IMAGE_UNCHANGED)

而imread的第二个参数flag代表的是是否读取alpha通道

但是有个一问题是jpg不存在alpha通道,这样后续操作会出现问题,解决办法的给读取出来的数组增加一个alpha的维度

origin_image = cv2.imread(image_path, cv2.CV_LOAD_IMAGE_UNCHANGED)
if origin_image.ndim != 4:
origin_image2 = self.__addAlpha(origin_image) #添加alpha
origin_image2.resize((90,260,4))


记住需要对矩阵重写resize一次

#读取jpg,添加alpha通道
def __addAlpha(self, image):
temp_image = []
for i in xrange(image.shape[0]):
for j in xrange(image.shape[1]):
temp = np.append(image[i][j], 255)
temp_image.append(temp)
return np.array(temp_image)


这样就可以为读取出来的图片举证增加一个维度,也就是alpha通道的维度
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: