OPENCV BGRA四通道图像

您所在的位置:网站首页 jpg转png是什么意思 OPENCV BGRA四通道图像

OPENCV BGRA四通道图像

2023-11-19 07:23| 来源: 网络整理| 查看: 265

本demo输入一张24位BGR真彩色图像,输出32位BGRA带透明通道的彩色图像。 在输出前,对Alpha透明通道做了些处理。源24位真彩色图像的左下角置为透明。 在运行中查看BGRA四通道图片时,是无法查看到透明通道的。 必须要把图片保存下来,才能看到。 目前支持Alpha透明通道的图片封装格式为: 1、PNG:支持透明效果。PNG可以为原图像定义256个透明层次,使得彩色图像的边缘能与任何背景平滑地融合,从而彻底地消除锯齿边缘。这种功能是GIF和JPEG没有的。 2、gif:GIF的原义是“图像互换格式”,GIF文件的数据是一种基于LZW算法的连续色调的无损压缩格式。 3、TIFF:签图像文件格式(TaggedImageFileFormat,简写为TIFF)是一种灵活的位图格式,主要用来存储包括照片和艺术图在内的图像。它最初由Aldus公司与微软公司一起为PostScript打印开发。TIFF与JPEG和PNG一起成为流行的高位彩色图像格式。 4、PSD:这是Photoshop图像处理软件的专用文件格式,文件扩展名是。psd,可以支持图层、通道、蒙板和不同色彩模式的各种图像特征,是一种非压缩的原始文件保存格式。扫描仪不能直接生成该种格式的文件。PSD文件有时容量会很大,但由于可以保留所有原始信息,在图像处理中对于尚未制作完成的图像,选用PSD格式保存是最佳的选择。

import cv2 import numpy as np img=cv2.imread("cat.jpg") img_bgra=cv2.cvtColor(img,cv2.COLOR_BGR2BGRA) print(img_bgra.shape) print(img_bgra) b, g, r ,a= cv2.split(img_bgra) print(a) print(a.shape) a[int(a.shape[0]/2):,int(a.shape[1]/2):]=0 #creating a dummy alpha channel image. # alpha = np.ones(b.shape, dtype=b.dtype)*0 # print(alpha) #alpha = alpha.astype(np.uint8) img_bgra = cv2.merge((b, g, r, a)) print(img_bgra.shape) #cv2.imshow("BGRA", img_bgra) cv2.imwrite("BGRA.tiff",img_bgra) #cv2.waitKey(0) ''' 这里不保存下来查看的话,在程序运行中展示并看不出差异。 保存图片时,要保存为png格式的图片,因为png或tiff文件即为BGRA四通道色彩空间的图像文件形式。 ''' ''' (572, 642, 4) [[[ 20 14 7 255][ 15 9 2 255][ 14 8 1 255]...[ 12 13 11 255][ 26 23 19 255][ 26 23 19 255]] [[ 22 16 9 255][ 18 12 5 255][ 18 12 5 255]...[ 13 11 10 255][ 7 4 0 255][ 7 4 0 255]] [[ 20 14 7 255][ 17 11 4 255][ 17 11 4 255]...[ 16 14 13 255][ 15 12 8 255][ 15 12 8 255]] ... [[ 14 10 5 255][ 14 10 5 255][ 13 9 4 255]...[ 66 60 49 255][ 41 32 22 255][ 64 55 45 255]] [[ 14 10 5 255][ 14 10 5 255][ 13 9 4 255]...[ 43 37 26 255][ 37 28 18 255][ 57 48 38 255]] [[ 13 9 4 255][ 13 9 4 255][ 13 9 4 255]...[ 16 10 0 255][ 13 4 0 255][ 29 20 10 255]]] '''

具体效果如下: 在这里插入图片描述 请添加图片描述 请添加图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3