将图片读取为像素格式

使用python有两种方法:

  • 使用scipy.misc
  • 使用imageio
#可以使用scipy.misc和imageio中的任何一种,这里我使用scipy.misc,
#所以我注释掉了imageio
import matplotlib.pyplot as plt
import scipy.misc
#import imageio

#读取文件目录
image_file_name = (r'C:/Users/Lenovo/Desktop/1.png')
#将图片变成像素数组,参数flatten=True将图像变成简单的浮点数数组,如果图片是彩色的,
#那么颜色值将被转换成所需要的灰度,注意,此时读取的图片变成了一个多维pixels数组
#比如读取的图片像素是mxn,则此时的img_array是mxn的数据数组
img_array = scipy.misc.imread(image_file_name,flatten = True)
# 或者使用imageio
#img_array = imageio.imread(image_file_name, as_gray=True)
#使用Greys变成灰色,去掉则是彩色
plt.imshow(img_array,cmap='Greys')

原图:
在这里插入图片描述
使用Greys
在这里插入图片描述
可以看到原图中的白色变成了黑色,黑色变成了白色,通常0表示黑色,255表示白色。这时我们需要用255减去上面的数,反转过来。即源码变成:

#可以使用scipy.misc和imageio中的任何一种,这里我使用scipy.misc,
#所以我注释掉了imageio
import matplotlib.pyplot as plt
import scipy.misc
#import imageio

#读取文件目录
image_file_name = (r'C:/Users/Lenovo/Desktop/1.png')
#将图片变成像素数组,参数flatten=True将图像变成简单的浮点数数组,如果图片是彩色的,
#那么颜色值将被转换成所需要的灰度,注意,此时读取的图片变成了一个多维pixels数组
#比如读取的图片像素是mxn,则此时的img_array是mxn的数据数组
img_array = scipy.misc.imread(image_file_name,flatten = True)
# 或者使用imageio
#img_array = imageio.imread(image_file_name, as_gray=True)

#新加的一行
img_array = 255 - img_array

#使用Greys变成灰色,去掉则是彩色
plt.imshow(img_array,cmap='Greys')

结果为
在这里插入图片描述
去掉Greys
在这里插入图片描述
img_array是多维数组
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值