博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三通道图像和四通道图像
阅读量:4176 次
发布时间:2019-05-26

本文共 984 字,大约阅读时间需要 3 分钟。

1.基本概念

所谓三通道图像是指具有RGB三种通道的图像,简单来说就是彩色图像。R:红色,G:绿色,B:蓝色。比如红色为(255,0,0)

四通道图像是在三通道的基础上加上了一个Alpha通道,Alpha用来衡量一个像素或图像的透明度。比如Alpha为0时,该像素完全透明,Alpha为255时,该像素是完全不透明。

2.四通道图像转化为三通道图像

from PIL import Imageimage = Image.open(filename).convert('RGB')

逐像素逐通道处理图像

rows,cols,channels=img.shape这行代码的意思是把图片中像素的行数,列数以及图像通道数返回给rows,cols,channels

下面放一段代码(python)

from PIL import Imageimport cv2import numpy as npimport matplotlib.pyplot as plt#img=np.array(Image.open('F:/Opencv/0519/topslices/topslice135.tif'))  #打开图像并转化为数字矩阵img = cv2.imread("./EXAMPLE-02/EXAMPLE003.tif",1)rows,cols,dims = img.shapefor i in range(rows):    for j in range(cols):        #print(img[i,j])        if img[i,j][0] == img[i,j][1] \                == img[i,j][2]:            img[i,j] = 0        if j < 110:            img[i,j] = 0        if i > 480:            img[i,j] = 0cv2.imshow('img',img)cv2.imwrite('./003-pro.tif', img)

该代码实现的功能是:

当0通道(R通道)的像素值等于1通道(G通道)的像素值比上2通道(B通道)的像素值时,把该行该列的像素值置为0
把列数小于110的像素置为0,行数大于480的像素值置为0

转载地址:http://caxai.baihongyu.com/

你可能感兴趣的文章
Reaver 基本用法示例
查看>>
DIG学习稿
查看>>
Hping3学习稿
查看>>
Netcat学习稿
查看>>
Nslookup学习稿
查看>>
结构体对齐学习稿
查看>>
网络字节顺序
查看>>
SQLiX构建笔记
查看>>
Git指令合辑
查看>>
每个程序员都应该知道的延迟值
查看>>
安装DVWA进行渗透测试
查看>>
Sparta
查看>>
SQLMAP 学习稿
查看>>
IDA一日速成整理笔记
查看>>
逆向分析的经验
查看>>
Visual Studio 简单快捷键
查看>>
暴力搜索内存空间获得API的线性地址
查看>>
CTF编码
查看>>
万能密码原理和总结
查看>>
缓冲区溢出学习
查看>>