【AI达人养成营】学习笔记
发布于2021-12 浏览:617 回复:0
0
收藏

【AI达人养成营】

知识总结:

1.基础数据类型:整形(int)、浮点型(float)、复数型(complex)

2.组合数据类型:元组(tuple),用()来表示,初始化后不可更改;列表(list),用[]来表示,可添加或删除其中的元素;字典[dict]:””,””来表示key和value;集合(set),set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

1、定义类

def __init__(self,xxxx)

2、继承

3、封装

4、打开文件

f=open()

5、读取文件

f=readline()

6、文件处理模型

f = open('work/train_data_cor.txt')

line = f.readline()

print(line)

line = f.readline()

print(line)

f.close()

james,2004-5-21,2.34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22

 

julie,2006-5-9,2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21

open() 为bif(内置函数),参数有多个,必须的是文件路径。 返回的一个文件对象。

file.readline(),读取文件中的一行。

OpenCV库进阶操作

import math

import random

import numpy as np

%matplotlib inline

import cv2

import matplotlib.pyplot as plt

# 创建一副图片

img = cv2.imread('cat.png')

# 转换颜色通道

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

通道分割与合并
彩色图的BGR三个通道是可以分开单独访问的,也可以将单独的三个通道合并成一副图像。分别使用cv2.split()和cv2.merge():

In [ ]

# 创建一副图片
img = cv2.imread('lena.jpg')
In [ ]

# 通道分割
b, g, r = cv2.split(img)
In [ ]

# 通道合并
img = cv2.merge((b, g, r))
In [ ]

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
 

图像几何变换
实现旋转、平移和缩放图片
OpenCV函数:cv2.resize(), cv2.flip(), cv2.warpAffine()
缩放图片
缩放就是调整图片的大小,使用cv2.resize()函数实现缩放。可以按照比例缩放,也可以按照指定的大小缩放: 我们也可以指定缩放方法interpolation,更专业点叫插值方法,默认是INTER_LINEAR

翻转图片
镜像翻转图片,可以用cv2.flip()函数: 其中,参数2 = 0:垂直翻转(沿x轴),参数2 > 0: 水平翻转(沿y轴),参数2 < 0: 水平垂直翻转。


dst = cv2.flip(img, 1)

plt.imshow(dst)

平移图片
要平移图片,我们需要定义下面这样一个矩阵,tx,ty是向x和y方向平移的距离:

M=[1 0 tx0 1 ty​​]

平移是用仿射变换函数cv2.warpAffine()实现的:

In [ ]

# 平移图片
import numpy as np
# 获得图片的高、宽
rows, cols = img.shape[:2]
In [ ]

# 定义平移矩阵,需要是numpy的float32类型
# x轴平移200,y轴平移500
M = np.float32([[1, 0, 100], [0, 1, 500]])
# 用仿射变换实现平移
dst = cv2.warpAffine(img, M, (cols, rows))
In [ ]

plt.imshow(dst)

 

绘图功能
绘制各种几何形状、添加文字
OpenCV函数:cv2.line(), cv2.circle(), cv2.rectangle(), cv2.ellipse(), cv2.putText()
绘制形状的函数有一些共同的参数,提前在此说明一下:

img:要绘制形状的图片
color:绘制的颜色
彩色图就传入BGR的一组值,如蓝色就是(255,0,0)
灰度图,传入一个灰度值就行
thickness:线宽,默认为1;对于矩形/圆之类的封闭形状而言,传入-1表示填充形状
lineType:线的类型。默认情况下,它是8连接的。cv2.LINE_AA 是适合曲线的抗锯齿线。
 

通过这一个多月的学习,了解了很多python的用法,对它有了些许的认识,虽然基础不牢,但也学了一点,有所帮助。最后,感谢这门课程的老师,助教和各位愿意分享的同学。

 

收藏
点赞
0
个赞
TOP
切换版块