一篇告诉你为什么人人都应该学点Python?


小编注:想获得更多专属福利吗?金币加成、尊享众测、专属勋章、达人福利任务你想要吗?如果想要,赶紧来申请认证站内生活家!猛击此链接

全文主要分为以下四个部分,各位看官可以自行选择阅读,写文的目的是希望大家能在学习了解Python的同时能在日常生活中运用上,若有补充,欢迎在评论区留言。本文默认已经安装好Python 2.7环境,需要安装教程等的请自行上网查询。若使用Python 3.4,则根据代码自行调整,道理都是通的。最后一部分其实相对来讲需要一些数学基础,各位可以自行学习。当然,我水平有限,很多东西其实只是班门弄斧,求各位在评论区轻喷。

1. Python的介绍及用处

2. Python的基本语法

3. Python在数字图像处理的常用库

4. Python在数字图像处理中常见的修图用法

Python的简介及用处

Python是一种高级的编程语言,特点是易用,和JS差不多,Python被"创造"出来的过程也是有点巧合,但巧合之下往往隐藏着作者的水平。Python的用处也相当广泛,从网站后台开发到日常生活中的小工具都有能有立足之地。当然,时下比较火的机器学习以及量子投资也有相当多使用到Python的。但作为一个从业者,我不太建议大家盲目跟风利用Python进行机器学习以及量化投资。如果单纯地调用库工具,这种其实真的只是搬砖工而不是从事这个行业,因为我曾经陷入过这个误区,所以不希望各位和以前的我一样浪费时间。或许今日行业红利未褪去,调调参数就能找到一份不错的工作,但在职业规划中不应该为了这几年的高薪而磨灭了自己对技术的热情以及对其他工作的积极性。浪潮褪去,才知道谁在裸泳。

Python的基本语法

讲真,我在Python这门语言方面其实只是"半桶水",所以能介绍的知识也有限,但基本语法还是可以讲讲的。

缩进

通常写Python的会被嘲讽是不是带游标卡尺出门,这是因为Python主要是靠缩进来区分代码块的,一旦有一处缩进不正常,编辑就会抛出异常报错并停止编译。

python可以在剪映软件中运行吗 python能做电脑软件吗_python可以在剪映软件中运行吗

正确的Hello World输出

python可以在剪映软件中运行吗 python能做电脑软件吗_Python_02

缩进导致的编译错误

列表

不同于C/C++中列表需要自行实现或调用标准模板库,在Python中它是使用最频繁的数据类型,除了常用的关于数组的用法外,还能随意组合。

python可以在剪映软件中运行吗 python能做电脑软件吗_Python_03

列表常见用法

字典

相信很多人第一次听到这个名字以后都会怀疑,这真的是一种数据结构吗?在Python中确实是有这种数据结构的,它是无序的数据对象集合,而列表则是有序的数据对象集合。

它之所以被称为字典,主要是因为在数据结构中存在一种唯一对应的关系,即索引(ID)和数值(Value)的关系,这关系与现实生活中的字典非常相似。而在其他语言中,这种通常就是对象的常见用法,而没有被称为字典。

python可以在剪映软件中运行吗 python能做电脑软件吗_python可以在剪映软件中运行吗_04

值得买个人中心中信息的字典样

网站学习推荐

如果要通过线上自学的方式学习Python,可以参考以下网站:

Python在数字图像处理的常用库

不论是机器学习还是数字图像处理,Python都有许多常用的库,这里简要介绍几个。

Numpy

python可以在剪映软件中运行吗 python能做电脑软件吗_Python_05

Numpy

在涉及计算的过程中,不可避免地需要使用到线性代数、概率统计等知识,需要使用到矩阵操作、各种分布,此时Numpy真的是神器。

Matplotlib

python可以在剪映软件中运行吗 python能做电脑软件吗_Python_06

在进行数据分析的时候,图像能更直观地表达数种算法或参数的区别,所以也需要一些画图的包。Matplotlib是2D图像库,包含多种图像,使用方便简单。

Python在数字图像处理中常见的修图方法

下面将为大家介绍在数字图像处理中常用的数种处理图像的方法,目的在于希望各位自行学习实现时能掌握Python也能尝试看看美图秀秀/Photoshop是怎么实现每一个小功能的。

均值滤波器(虚化图像)

均值这一概念从小就贯穿在教育当中,而虚化图像实际上是相当于在灰度图(黑白图)中,像素点A被稀释成周围数个像素点B/C/D/E的均值。主要的计算公式如下:

python可以在剪映软件中运行吗 python能做电脑软件吗_python可以在剪映软件中运行吗_07

均值滤波

其中个别公式会使用到卷积这一概念(下同),这需要自行理解了。

python可以在剪映软件中运行吗 python能做电脑软件吗_缩进_08

python可以在剪映软件中运行吗 python能做电脑软件吗_缩进_08

拉普拉斯滤波器(锐化图像)

拉普拉斯算子是一个新概念,其之所以能被用作增强图像,主要是因为拉普拉斯滤波器是一种各向同性滤波器,这种滤波器的响应与滤波器作用的图像的突变方向无关。通过拉普拉斯可以增强图像中灰度突变处的对比度,最终结果是使图像中的细节部分得到了增强,并良好地保留了图像的背景色调。

python可以在剪映软件中运行吗 python能做电脑软件吗_Python_10

拉普拉斯算子的计算方式,乍看很难,其实不难实现

python可以在剪映软件中运行吗 python能做电脑软件吗_python可以在剪映软件中运行吗_11

去雾算法

这一算法是由今年被CVPR评为PAMI年轻学者的何凯明在2010年提出的,提出数年以后由再次提出了该算法的改进算法。当初完成这部分复现大概花了一周的时间,所以如果各位有兴趣的话自然可以花费时间去复现甚至改进,觉得时间长的也可以看看科研其实也是不容易的

python可以在剪映软件中运行吗 python能做电脑软件吗_缩进_12


在我看来,这算法本身实际上是一种机器学习的训练,而不是单纯数学公式的实现。具体可以参考论文"Guided Image Filtering"和"Fast Guided Filtering"。下面仅提供我实现的最笨拙的方式,当然训练很慢的,所以最主要还是学习。

python可以在剪映软件中运行吗 python能做电脑软件吗_缩进_13

看到这里的各位可能觉得我介绍的这些美图方式很难,其实对于前一两个而言,只要理解了公式的各部分,实现起来并不难的,而且花费的运行时间也不长,各位自然可以花费时间在学习Python的同时动手实干一下。

其实,语言的语法本身不重要,内在思想大多是相通的,而思想又会反过来作用语法的设计,希望各位顺利学习!