图片归一化和通道提取合成

一:归一化

归一化是减小图片的像素值,方便后期数据处理
原理:(1)找到原本样本数据X的最小值Min及最大值Max (2)y=(x-Min)/(Max-Min)

1:读取图片

import cv2 
import matplotlib.pyplot as plt
import numpy as np
image = plt.imread('77.jpg')
plt.imshow(image)

2:归一化原理实现

Max=np.max(image)
Min=np.min(image)
result = np.zeros(image.shape, dtype=np.float32)  #创建一个零矩阵
result=(image-Min)/(Max-Min)  #计算得到的新的数值储存在result中
plt.imshow(result)

3:结果
在这里插入图片描述
归一化之后,发先图片i的像素值介于[0,1]之间。

二:提取图片通道

1:分离三个通道为r,g,b

image=cv2.imread("77.jpg")#读取要处理的图片
r,g,b= cv2.split(image)         #分离出图片的B,R,G颜色通道

2:为了达到提取某一通道的效果,创建两个零矩阵,与之合成。

zeros1 = np.zeros(R.shape,dtype="uint8")#创建与image相同大小的零矩阵
zeros2 = np.zeros(R.shape,dtype="uint8")#创建与image相同大小的零矩阵

3:通道分离后的图片

re_image1=cv2.merge([r,zeros1,zeros2])
fg,ax=plt.subplots()
plt.subplot(1,3,1), plt.title('r')
plt.imshow(re_image1),plt.axis('off')

re_image2=cv2.merge([zeros1,g,zeros2])
fg,ax=plt.subplots()
plt.subplot(1,3,2), plt.title('g')
plt.imshow(re_image2),plt.axis('off')

re_image3=cv2.merge([zeros1,zeros2,b])
fg,ax=plt.subplots()
plt.subplot(1,3,3), plt.title('b')
plt.imshow(re_image3),plt.axis('off')

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值