图像处理

共 1524字,需浏览 4分钟

 ·

2020-10-28 11:55

 是新朋友吗?记得先点数据科学与人工智能关注我哦~
《Python学习》专栏·第1篇
 | 段洵
1090 字 | 5 分钟阅读

一起来学习用Python进行图像处理吧!

一、图像处理基本知识

二维图形表示:像素和图像

• 像素Pixel:组成图像的基本小方格,具有大小和位置,规则排列

• 像素的属性:形状、大小、位置、颜色值

• 图像Image:由规则排列的像素构成的矩形,可以描绘各种视觉形象

• 图像的属性:分辨率、像素密度、颜色模型


图像颜色模型:RGB

三原色模型RGB

• 用3个字节表示颜色

• 分别表示红、绿、蓝颜色值

• 0-255,一共有255*255*255种

• 引入第四个字节表示透明度的RGBA模型

• 另一种常用颜色模型HSV

• 辉度、饱和度、亮度

像素密度:PPI(Pixel Per Inch)

• 每英寸像素点数量

• 密度越高图像越精细

• 视网膜分辨率:人眼在常规距离上无法分辨出视网膜屏幕的像素点,标准视力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语言群

诚邀您加入


《数据科学与人工智能》公众号推荐朋友们学习和使用Python语言,需要加入Python语言群的,请扫码加我个人微信,备注【姓名-Python群】,我诚邀你入群,大家学习和分享。


浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报