首页 飞桨领航团 帖子详情
【AI达人养成营】Python学习笔记
收藏
快速回复
飞桨领航团 文章学习资料 355 0
【AI达人养成营】Python学习笔记
收藏
快速回复
飞桨领航团 文章学习资料 355 0

【AI达人养成营】

百度飞浆AI达人Python学习笔记

lambda匿名函数
python 使用 lambda 来创建匿名函数。
lambda 只是一个表达式,函数体比 def 简单很多。
lambda 的主体是一个表达式,而不是一个代码块。仅仅能在 lambda 表达式中封装有限的逻辑进去。
lambda 函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

高阶函数
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。
reduce: 用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,依此类推,最后得到一个结果。
sorted
排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。

闭包
python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure).

使用OpenCV加载并保存图片
加载图片,显示图片,保存图片
OpenCV函数:cv2.imread(), cv2.imshow(), cv2.imwrite()
加载图片
使用cv2.imread()

图像基本操作
ROI
ROI:Region of Interest,感兴趣区域。。
截取ROI非常简单,指定图片的范围即可
# 截取猫脸ROI
例子:xx = img[0:70, 100:500]
plt.imshow(xx)

颜色空间转换
最常用的颜色空间转换如下:

RGB或BGR到灰度(COLOR_RGB2GRAY,COLOR_BGR2GRAY)
RGB或BGR到HSV(COLOR_RGB2HSV,COLOR_BGR2HSV)
灰度到RGB或BGR(COLOR_GRAY2RGB,COLOR_GRAY2BGR)

cv2.threshold() 用来进行固定阈值分割。固定阈值不适用于光线不均匀的图片,所以用 cv2.adaptiveThreshold() 进行自适应阈值分割。

二值化跟阈值分割并不等同。针对不同的图片,可以采用不同的阈值方法。

图像几何变换
实现旋转、平移和缩放图片
OpenCV函数:cv2.resize(), cv2.flip(), cv2.warpAffine()

cv2.line()画直线,cv2.circle()画圆,cv2.rectangle()画矩形,cv2.ellipse()画椭圆,cv2.polylines()画多边形,cv2.putText()添加文字。
画多条直线时,cv2.polylines()要比cv2.line()高效很多。
要在图像中打上中文,可以用PIL库结合OpenCV实现。

图像间数学运算
图片间的数学运算,如相加、按位运算等
cv2.add()用来叠加两幅图片,cv2.addWeighted()也是叠加两幅图片,但两幅图片的权重不一样。
cv2.bitwise_and(), cv2.bitwise_not(), cv2.bitwise_or(), cv2.bitwise_xor()分别执行按位与/或/非/异或运算。掩膜就是用来对图片进行全局或局部的遮挡。

使用OpenCV摄像头与加载视频
使用cv2.VideoCapture()创建视频对象,然后在循环中一帧帧显示图像。参数传入数字时,代表打开摄像头,传入本地视频路径时,表示播放本地视频。
cap.get(propId)获取视频属性,cap.set(propId,value)设置视频属性。
cv2.VideoWriter()创建视频写入对象,用来录制/保存视频

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户