总结遇到过的一些Python函数的用法

字符串/数字类

得到随机数

import random
x = random.randint(a, b)	#得到[a, b]的随机整数
x = random.randrange(a, b)	#得到[a, b)的随机整数
x = random.random()	#得到[0.0,1.0)的随机浮点数
x = random.uniform(a, b)	#得到[a, b]的随机浮点数

数值强制转换成字符串

num = 32.222
str = '%d'%num	#对num向下取整,并转换成字符串类型

一维数组和二维数组之间的转换

二维数组转一维数组

#方法一
from itertools import chain
a = [[1, 2], [3, 4]]
print(list(chain.from_iterable(a)))
#得到[1, 2, 3, 4]

#方法二
a = [[1,2], [3,4]]
print([i for item in a for i in item])
#得到[1, 2, 3, 4]

一维数组转二维数组

#方法一
a = [1,2,3]
b = [4,5,6]
print zip(a,b)
#得到[(1, 4), (2, 5), (3, 6)]

图像类

OpenCV中BGR格式图片转换成RGB格式

# -- coding: utf-8 --
import cv2
import matplotlib.pyplot as plt
import numpy as np

img = cv2.imread('1.jpg')	#opencv读取图片以BGR格式
plt.imshow(img)
plt.show()

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img)
plt.show()
总结遇到过的一些Python函数的用法总结遇到过的一些Python函数的用法

图像平移

(h, w) = img.shape[:2] #img.shape[0]图片的高,img.shape[1]图片的宽
M = np.float32([[1, 0, 100],[0, 1, 200]]) #向右平移100个像素,向下平移200个像素
shifted = cv2.warpAffine(img, M, (w, h))
plt.imshow(shifted)
plt.show()
总结遇到过的一些Python函数的用法

图像旋转

(cX, cY) = (w/2, h/2)
M = cv2.getRotationMatrix2D((cX, cY), 45, 1.0)
# (cX, cY)-旋转中心点
# 45-逆时针旋转45度
# 1.0-缩放倍数
rotation = cv2.warpAffine(img, M, (w,h))
plt.imshow(rotation)
plt.show()
总结遇到过的一些Python函数的用法

改变图像大小

resize = cv2.resize(img, (300, 300))
plt.imshow(resize)
plt.show()
总结遇到过的一些Python函数的用法

人脸识别
总结遇到过的一些Python函数的用法

文件类

glob()
一个很好用的读取文件的函数

from glob import glob
data = glob('dir/*')	#得到这个目录下所有文件的名称,作为列表元素存储在data中
data = glob('dir/*.txt')	#得到这个目录下所有txt文件的名称,作为列表元素存储在data中
data = glob('dir/*/*')	#得到这个目录下的所有目录下的所有文件名,作为列表元素存储在data中

计算类