购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

6-3 编辑含Alpha通道的彩色图像

对一个含Alpha通道的彩色图像,每一个像素是由含4个元素的数组组成,也就是有4个通道,索引3是 A(Alpha) 通道,如下所示:

     [B, G, R, A]

如果要读取含Alpha通道的文件,例如,以.png为后缀的文件,cv2.imread( )语法如下(以读取street.png为例):

     image = cv2.imread(“street.png”, cv2.IMREAD_UNCHANGED

程序实例 ch6_8.py: 在本书电子资源的ch6文件夹有street.png文件,这个文件的透明度是32,这个程序会读取street.png,同时显示[10,50]和[50,99]的像素值,然后修改[0,0]至[200,200]间的Alpha值为半透明的 128 ,最后再列出[10,50]和[50,99]的像素值,读者可以比较修改结果。同时将修改结果存入 street128.png

执行结果 下列可以看到Alpha通道值修改前与修改后结果。

上图右边是street128.png在Windows窗口打开的结果。

上述几个程序使用循环方式设定某区域的值,坦白来说是中规中矩,灵活应用Python的切片可以让程序简化许多,例如,上述程序第9~11行,可以使用如下含切片的程序代码取代。

     img[0:200,0:200,3] = 128

细节可以参考 实例 ch6_8_1.py ,执行结果则存入street128_1.png。 IROLyMruR7MN4Eoxpp8FQDnQBHwzlj++vrjyNjJNgbjBqtdGZL7LYKDUcAox0jEb

点击中间区域
呼出菜单
上一章
目录
下一章
×