设为首页 加入收藏

TOP

Python各类图像库的图片读写方式总结
2019-09-03 03:38:52 】 浏览:28
Tags:Python 各类 图像 图片 读写 方式 总结

opencv作为我最常用的图像处理库,当然第一个介绍,并且介绍得比较全面。毋庸置疑,opencv是今天介绍得所有图像库中最全面也最强大的库,如果我们只想掌握一个图像库,我觉得opencv库肯定是最适合不过了。




值得注意的是,opencv读进来的图片已经是一个numpy矩阵了,彩色图片维度是(高度,宽度,通道数)。数据类型是uint8。




上面提到了两种获取灰度图的方式,读进来的灰度图的矩阵格式是(高度,宽度)。




opencv读入图片的矩阵格式是:(height,width,channels)。而在深度学习中,因为要对不同通道应用卷积,所以会采取另一种方式:(channels,height,width)。为了应对该要求,我们可以这么做



在深度学习搭建CNN时,往往要做相应的图像数据处理,比如图像要扩展维度,比如扩展成(batch_size,channels,height,width)。


对于这种要求,我们可以这么做。



上面提到的是预测阶段时预测单张图片的扩展维度的操作,如果是训练阶段,构建batch,即得到这种形式:(batch_size,channels,height,width)。我一般喜欢这么做


这样子就能构造成我们想要的形式了。



opencv对于读进来的图片的通道排列是BGR,而不是主流的RGB!谨记!




PIL即Python Imaging Library,也即为我们所称的Pillow,是一个很流行的图像库,它比opencv更为轻巧,正因如此,它深受大众的喜爱。


PIL读进来的图像是一个对象,而不是我们所熟知的numpy 矩阵。




灰度图的获取





灰度图的转化与彩图转化一样



matplotlib是一个科学绘图神器,用的人非常多。











可以看到,有warining,提示我们imread和imsave在后来的版本将会被弃用,叫我们使用imageio.imread和imageio.imwrite。


我们根据她的提示,使用imageio模块进行图片读写,warning也就没有了。




图像也是以numpy array形式读入。


灰度图的获取方式:



可以看到,灰度图像的矩阵的值被归一化了,注意注意!


也可以以这种方式获得灰度图:





Python各类图像库的图片读写方式总结 https://www.cppentry.com/bencandy.php?fid=54&id=249439

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇CUDA编程之快速入门 下一篇Shell脚本应用之正则表达式详解