原标题:图像处理
△是新朋友吗?记得先点数据科学与人工智能关注我哦~
《Python学习》专栏· 第1篇
文|段洵
1090字 | 5 分钟阅读
一起来学习用Python进行图像处理吧!
一、图像处理基本知识
二维图形表示:像素和图像
• 像素Pixel:组成图像的基本小方格,具有大小和位置,规则排列
• 像素的属性:形状、大小、位置、颜色值
• 图像Image:由规则排列的像素构成的矩形,可以描绘各种视觉形象
• 图像的属性:分辨率、像素密度、颜色模型
图像颜色模型:RGB
三原色模型RGB
• 用3个字节表示颜色
• 分别表示红、绿、蓝颜色值
• 0-255,一共有255*255*255种
• 引入第四个字节表示透明度的RGBA模型
• 另一种常用颜色模型HSV
• 辉度、饱和度、亮度
像素密度:PPI(Pixel PerInch)
• 每英寸像素点数量
• 密度越高图像越精细
• 视网膜分辨率:人眼在常规距离上无法分辨出视网膜屏幕的像素点,标准视力5.0,看手机的距离,300ppi达到无法分辨像素点
二、PIL:图像处理库
PIL:图像处理库
• Python 3安装Pillow
• Python上事实标准库
• 功能强大,可以对图像做各种处理,如:缩放、裁剪、旋转、滤镜、文字、调色板等等
PIL:缩放图像操作
PIL查看图像信息
PIL生成验证码
ASCII字符图形艺术
numpy库
• numpy是Python用于处理大型矩阵的一个速度极快的数学库
• 可以做向量和矩阵的运算,包括各种创建矩阵的方法,以及一般的矩阵运算、求逆、求转置
• 它的很多底层的函数都是用C写的,可以得到在普通Python中无法达到的运行速度
矩阵计算
• 创建矩阵 a = np.matrix([ ])
• 矩阵求逆 a.I
• 矩阵转置 a.T
• 矩阵乘法 a*b或np.dot(a,b)
对象属性
• np.shape 数组形状,矩阵则为n行m列
• np.size 对象元素的个数
• np.dtype 指定当前numpy对象的整体数据类型
三、数据可视化:Matplotlib
Matplotlib
Matplotlib 是 Python的一个绘图库。它包含了大量的工具,可以使用这些工具创建各种图形,包括简单的散点图,折线图,甚至是三维图形、动画等,Python科学计算社区经常使用它完成数据可视化的工作,功能异常强大。
绘制函数图像基本思路
• 基本思路:通过将图像上一些点的坐标连接起来,即可绘制函数的近似图像,当点越多时,所绘图像越接近函数图像
• numpy库的 linspace函数生成数组: numpy.linspace(,,),生成一个存放等差数列的数组,数组元素为浮点型,包含三个参数,分别是:数列起始值、终止值(默认包含自身)、数列元素个数
• matplotlib库的 plot函数用来画图:可以设定图形颜色、线条线型、以及做标注等
matplotlib:简单图形
matplotlib:多个简单图形
matplotlib:散点图
matplotlib:直方图
matplotlib:标题,标签和图例
公众号推荐
数据思践
Python语言群
责任编辑: