《计算机视觉之PyTorch数字图像处理》--了解图像处理与开发环境搭建运行
[复制链接]
本帖最后由 dirty 于 2024-11-29 20:22 编辑
本篇主要主要对该书第1篇 图像处理基础知识 的梳理理解,包括了环境安装和一些代码运行试验。
计算机视觉与图像概述
人类视觉是以人眼生理结构与光学原理,对外在事物的视觉认知与感知。
计算机视觉借助半导体技术,人类视觉得以数字化,从而可被计算机所感知和分析。在视觉感知方面,CCD(电荷耦合器件)和CMOS(互补金属氧化物半导体)将表示图像的光信号转变为电信号,使得能够被计算机存储和使用。
目前计算机视觉研究的主要内容有:图像处理;特征提取与描述;图像分类、分割和目标检测;三维重建与立体视觉;视频分析。可以看到计算机视觉研究内容还是挺多的。
计算机视觉的研究中出现了许多优秀的方法包含:传统方法;机器学习方法;深度学习方法;多视图几何方法;融合方法。
数字图像是将整个图像离散化、数字化,形成由数字组成的数组(矩阵),其表示了图像的所有信息。通常一个像素表示实际区域的大小可以称之为分辨率,像素值就是像素所在小块区域内灰度的平均值。
数字图像类型:二值图像,灰度图像和彩色图像。下面分别是其图像样式
数字图像的存储:对于数字图像,可以根据不同的需要保存为不同格式的图像文件。目前在一个名为GDAL的图像存取函数库(https://gdal.org/drivers/raster/index.html)里总共记录了160多种不同图像文件格式。常用的图像文件格式有BMP,JPG/JPEG,PNG,GIF等。
数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。这种处理可以将图像转换为数字形式,在计算机中进行操作,并生成新的图像或提取结构化信息。
数字图像处理的内容:图像的点运算,图像的邻域运算,图像的全局运算,图像的基础特征,图像分类,图像分割,图像检测。
了解PyTorch框架与图像处理
PyTorch框架是一个由Facebook开发的张量计算框架,使用Python编程语言。
PyTorch框架由几个相关的库组成:
●torch库:是PyTorch框架的核心库,用于张量计算和构建神经网络模型。
●torchaudio库:提供了关于语音信号的读取和处理方法,为PyTorch在语音处理领域提供支持。
●torchtext库:提供了关于自然语言的读取和处理方法,为PyTorch在自然语言处理领域提供支持。
●torchvision库:提供了关于图像和视频的读取和处理方法,为PyTorch在视觉处理领域提供支持。
这些库共同构成了PyTorch框架的生态系统,为不同领域的深度学习任务提供了丰富的功能和支持。
PyTorch进行图像处理主要有以下几方面的优势:
●数据类型丰富,特别是支持float32类型,无需担心数据范围或精度问题。
●数据结构与数字图像相适应,张量操作与图像处理紧密结合。
●灵活丰富的操作和运算方法,避免了循环遍历的繁琐。
●计算速度快,尤其在GPU环境下能够大幅加速。
●跨平台跨系统,便于程序在不同环境下运行。
●学习曲线平缓,基于Python易于学习。
●构建深度神经网络方便快捷,支持动态图机制。
●torchvision库提供了便捷的图像数据处理方法。
●提供丰富的预训练模型,促进了图像处理方法的发展。
开发环境搭建与运行
首先是python的安装,下载官方安装即可安装到PC,注意安装时添加到环境变量。
图像处理跟显卡GPU存在相关,如果PC显卡为英伟达,可安装CUDA程序,使用其资源。PC飞英伟达也可其他方式,Python安装图像处理第三方库。
PyTorch的安装
1.这里我们使用CPU版本的PyTorch安装。
pip install torch torchvision torchaudio
2.安装可视化工具Visdom
Visdom是一款 Facebook 开源的用于创建、组织和共享数据的可视化工具,支持Python编程语言,使用方便。Visdom专注于科学数据的可视化,可以生成散点图、拆线图、柱状图,3D视图等多种类型的图形和图像,功能强大使用方便,显示效果十分出众。Visdom通过提供Web可视化服务并能够实时更新图像处理的结果和深度学习模型训练进度。在深度学习中,Visdom与PyTorch能够进行无缝的衔接,可对网络的训练过程和特征进行多样化的可视化。
pip install visdom
visdom
3.集成开发环境Spyder
Spyder(Scientific Python Development Environment,Python科学计算开发环境)是一款基于Qt开发的、主要用于科学计算的、并且免费开源的Python集成开发环境。
Spyder本身就是一个Python的第三方库,因此Spyder的安装十分简单,直接使用Python第三方库的安装方法,即使用pip命令进行安装:
pip install spyder
启动spyder只需要在命令提示符窗口里继续输入命令:
spyder3
上面是书籍推荐,个人还是习惯Pycharm,在里面安装相关第三方库即可。
环境运行
使用PIL模块生成灰阶图像
from PIL import Image #导入PIL模块里的Image类
d=[i for i in range(256)]*100 #产生图像数据
imgd=bytes(d) #转化为字节串
img=Image.frombytes('L',(256,100),imgd) #根据图像数据,生成宽256高100的渐变灰度图像
img.save('gb.png') #保存图像为gb.png
运行生成灰度图像如下
此篇对图像处理有了入门认识,搭建好了开发环境,并运行成功了灰度图像生成保存,后面继续探索与学习分享。
|