持续更新中…
使用的是《数字图像处理》这本书,主要是程序实现的过程
第三章 intensity transformations and spatial filtering
3.2.1图像反转 figure 3.4
获取图片的pixel值可以参考https://blog.csdn.net/Mr_Cat123/article/details/86178750, 由于plt.imshow(img_array, cmap=‘Greys’)就已经是经过L-1即256-1之后的操作了,所以不需要做L-1的过程,代码如下:
#可以使用scipy.misc和imageio中的任何一种,这里我使用scipy.misc,
#所以我注释掉了imageio
import matplotlib.pyplot as plt
import scipy.misc
#import imageio
#读取文件目录
image_file_name = (r'I:/course/Digital Imaga Processing/picture/DIP3E_Original_Images_CH03/Fig0304(a)(breast_digital_Xray).tif')
#将图片变成像素数组,参数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')
如果想要看原图,那么最后一行代码改为:
plt.imshow(255.0-img_array,cmap='Greys')