使用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是多维数组