1.R通道(红色通道)
1.1 导入io,data库
from skimage import io,data
1.2 读取该路径的图片
img=io.imread(r"C:\Users\86130\Desktop\111.jpg")
1.3 检查图像的红色通道(第三个参数,索引为0),并将所有大于170的值设置为True,其他值设置为False。reddish表示图像中哪些像素是红色的
reddish = img[:,:,0]>170
img[reddish] = [255,0,0]
1.4 显示图像
io.imshow(img)
1.5 运行结果1:
尝试:
在上述代码中,我修改了绿色通道的参数值,得到了一个新的颜色:黄色(将R通道和G通道的值都设置为255)代码+结果截图 如下:
2.G通道
和R通道同理
img[reddish] = [0,255,0]
这里将第二个参数值改成255,就是纯绿色
2.1运行结果2:
值越小,颜色越深
3.B通道
和R通道同理
img[reddish] = [0,0,255]
第三个参数为255,就是纯蓝色
运行结果3:
4.对图像进行二值化处理
4.1二值化的目的:
将图像上的像素点设置为两种颜色(黑色和白色),在二值化处理中,会设置一个值,当图像中的像素点的值小于这个设定值时,像素点值为0(黑色),否则为255(白色)
4.2对代码逐行解释
from skimage import io,data,color
img=io.imread(r"C:\Users\86130\Desktop\111.jpg")
img_gray = color.rgb2gray(img)
rows,cols = img_gray.shape
for i in range(rows):
for j in range(cols):
if(img_gray[i,j]<=0.5):
img_gray[i,j]=0
else:
img_gray[i,j]=1
io.imshow(img_gray)
第1行代码:从skimage中导入io,data,color包
第2行代码:读取图片,存到img变量中
第3行代码:将图像转换为灰度图像,使用color下的rgb2gray方法
第4行代码:获取图像的行数和列数
第5、6行代码:用i、j循环遍历图像的像素值
第7、8行代码:如果像素值小于等于0.5时,像素值等于0,设置为黑色
第9、10行代码:相反,像素值等于1,设置为白色
第11行代码:显示二值化处理后的图像