在阅读《图像处理、分析与机器视觉》这本书的同时,使用《Python图像处理实战》这本书作为代码辅助参考书。阅读过程中发现《Python图像处理实战》中的一些代码在实际使用中存在一些不匹配的情况,以及一些自己认为有用的发现,于是做一些笔记帮助自己辅助记忆。
我手中的《Python图像处理实战》这本书版本是:2020年12月第1版,2021年1月河北第2次印刷。
- 书中1.4.3节,第2.节一次性同时读取和显示多个图像(14页),我的解决方案如下:
ic = imread_collection(ic = imread_collection(['images/69015.jpg','images/210088.jpg', 'images/cat1.png'])
imshow_collection(ic)
show()
- 书1.5.2节中,第1.节(21页)使用numpy数组的切片进行图像处理,代码中向lena图像施加了一个圆形的掩膜,但是在实际代码中,添加掩膜的时候由于出现对象处于只读状态,无法修改成功。一个无效的解决方案是设置
lena.flags.writable=True
,会报错显示cannot set WRITEABLE flag to True of this array
。有效的解决方案是根据lena原始对象,构建一个新的对象。lena = np.array(lena)
即可。 - 同样是1.5.2节(21页),在实践过程中发现.png图像读入进来之后得到的ndarray图像是float类型的,.jpg图像读入进来之后是uint8类型的,其内部机制原理将在未来的学习过程中体会。