说明:基于《Opencv图像处理入门与实践》的学习内容记录。
1 Opencv常用的python内置函数
在计算机视觉中,使用者时常需要与计算机本身进行交互。这就需要用到ASCII,为此我们需要将键盘输入的字符转为ASCII来让计算机明白我们想要它去做些什么操作。
1.1 ord函数
首先要学习的是实现使用者与计算机之间交互的基础﹣﹣将键盘输入的字符转换为 ASCII ,这里需要使用 ord 函数。 ord 函数以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值或 Unicode (统一码)数值。 ord 函数的语法如下:
ord(char)
其中 char 为一个字符类型的参数,它的返回值是 char 所对应的十进制整数 ASCII 数值,如 ord (' a ')返回97, ord (' A ')返回65。
注意:如果所给的 Unicode 字符超出了 Python 的定义范围,则会引发一个名为" TypeError "的异常。
1.2 max函数和min函数
如果将图片看成一种输入信号,那么其中难免会有噪声干扰计算机本身进行兴趣数据(即使用者想要的数据)的提取。为了尽可能减少干扰,我们常常会使用 max 函数和 min 函数来对含有噪声的图像进行去噪操作。
max 函数和 min 函数分别返回给定参数的最大值与最小值,在本书中这两个函数使用的参数多为列表。
max 函数的语法如下,[符号后表示的是参数可选项,可以不使用。
max(literable,*[,key,default])
max 函数的参数解释如下。
□ iterable :一个可迭代对象。
□ key :可以理解为一个排列的方法。
示例代码如下。
b=['a','B']
print(max(b))
print(max(b,key=str,upper))
第二行代码的运行结果为 a,因为此时max函数会按照全体ASCII的顺序去比较数值大小,a对应的ASCII数值为97,B对应的ASCII数值为66,所以最大值为a。但是如果我们加入key的参数,如上面第三行所示。max函数的排列顺序就将按照字符的大写的ASCII数值去比较,此时a的大写字符A的ASCII数值为65,因此第三行代码运行的结果为B。
min函数的语法与max函数用于,返回值为给定参数的最小值。
1.3 sorted函数
与max函数与min函数相同,sorted函数也可以用来提高程序抗图片噪声干扰的能力。sorted函数的作用是对所有可迭代的对象进行排序。
该函数的语法如下。
[5,4,3,2,1]
sorted(iterable,cmp=None,key=None,reverse=False)
sorted 函数的参数解释如下。
□ iterable :一个可迭代对象。
□ cmp :一个比较函数,其具有两个参数,参数的值都是从可迭代对象中取出的;此函
数必须满足一个条件,即大于则返回1,小于则返回返回﹣1,等于则返回0。
□ key :和 max 函数、 min 函数中的 key 一样,主要是用来进行比较的元素,只有
个参数,具体的函数的参数取自可迭代对象,指定可迭代对象中的一个元素来进行排序。
reverse :控制排序规则,如果 reverse = True ,则为从大到小;如果 reverse = False ,则返回值为经过排序的列表。
为从小到大(默认为 False )。
示例代码如下。
a=[1,2,3,4,5]
b=sorted(a,reverse=True)
print(b)
其运行结果如下。
[5,4,3,2,1]