文章目录
- glob.glob()
- os.path.basename()
- os.path.dirname( _ _file _ _)
- os.path.abspath( _ _file _ _)
- os.path.realpath( _ _file _ _)
- os.path.splitext(“文件路径”)
- os.listdir(path)
- cv2.cvtColor()
- import pandas as pd
- Pandas中的loc和iloc
- torch.set_num_threads(1)
- cv2.rectangle()
- cv2.putText()
- np.meshgrid()
- np.newaxis
- np.ceil()
- np.floor()
- argmax()
- functools.partial()
- functools.wraps(func)
- python 装饰器
- import xml.etree.ElementTree as ET
glob.glob()
返回符合匹配条件的文件路径列表
,只有一个参数pathname
eg: glob.glob(os.path.join(video_dir,“img/*.img”))
os.path.basename()
返回path后面的文件名,若path以/或\结尾,那么就会返回空值。
eg:
path=’/mnt/dev_sdc1/wenmei_workspace/data/tracking/OTB100/Soccer/img/0081.jpg’
print(os.path.basename(path))
结果为:0081.jpg
os.path.dirname( _ _file _ _)
返回.py文件的目录
eg:
例如我的文件的路径为: /home/wenmei/PycharmProjects/plt/1.py 输出 /home/wenmei/PycharmProjects/plt
os.path.abspath( _ _file _ _)
返回.py文件的绝对路径(完整路径)
eg:
例如我的文件的路径为: /home/wenmei/PycharmProjects/plt/1.py 输出 /home/wenmei/PycharmProjects/plt/1.py
os.path.realpath( _ _file _ _)
返回指定文件的标准路径,(与上面的命令一样,除了在使用软连接的时候,当使用软连接的时候返回指向软链接所在的路径)
如:cd /home
mkdir a
mkdir b
touch a/1.txt
In -s /home/a/1.txt /home/b/1.txt
os.path.realpath(“b/1.txt”)
‘/root/a/1.txt’
os.path.splitext(“文件路径”)
分离文件名与扩展名, 得到XXX和.txt,然后用os.path.splitext(路径)[0] 取到前面的XXX
os.listdir(path)
os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表
cv2.cvtColor()
色彩空间转化函数,进行色彩空间的转化, 图像处理中有多种色彩空间,例如 RGB、HLS、HSV、HSB、YCrCb、CIE XYZ、CIE Lab等,经常要遇到色彩空间的转化,以便生成mask图等操作.
由于cv2.imread()
函数读取的图片 格式是BGR的,这时候需要转化为RGB
eg: cv2.cvtColor(cv2.imread(filename),cv2.COLOR_BGR2RGB)
import pandas as pd
参考
eg:
pd.read_csv(os.path.join(video_dir,“groundtruth_rect.txt”),sep=’\t|,|’,header=None,names=[‘xmin’,‘ymin’,‘width’,‘height’],engine=‘python’)
返回数据类型为:DataFrame
sep : str, default ‘,’指定分隔符。
header=None 即指明原始文件数据没有列索引,这样read_csv为自动加上列索引,列索引的名字为name
这里用来加载.txt文件,一般常见用np.loadtxt(filename,dilimiter)
Pandas中的loc和iloc
loc:通过具体的索引来提取数据
iloc:通过行号或者列号来提取数据
eg:
gt_bboxes.iloc[0]提取第一行的数据
torch.set_num_threads(1)
设定用于并行化CPU操作的OpenMP线程数
cv2.rectangle()
利用cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2)画出矩行
第一个参数:img是原图
第二个参数:(x,y)是矩阵的左上点坐标
第三个参数:(x+w,y+h)是矩阵的右下点坐标
第四个参数:(0,255,0)是画线对应的rgb颜色
第五个参数:2是所画的线的宽度
cv2.putText()
frame = cv2.putText(img, ‘000’, (50, 50), font, 1.2, (255, 255, 255), 2)
# 图像,文字内容, 坐标 ,字体,大小,颜色,字体厚度
cv2.imshow(‘origin’,img) # 显示原始图像
cv2.waitKey()
np.meshgrid()
生成网格点坐标矩阵 参考
语法:X,Y = np.meshgrid(x, y)
输入的x,y,就是网格点的横纵坐标列向量(非矩阵)
输出的X,Y,就是坐标矩阵。
np.newaxis
功能:用来增加维度
详解:np.newaxis在[]中第几位,a.shape的第几维就变成1,a的原来的维度依次往后排。
np.newaxis=None
numpy.newaxis效果和None是一样的,None是它的别名
a.unsqueeze(axis):升维
np.ceil()
ceil()向上取整
np.floor()
floor()向下取整
argmax()
argmax 返回的是输入列表中最大值的位置
functools.partial()
偏函数(Partial function)是通过将一个函数的部分参数预先绑定为某些值,从而得到一个新的具有较少可变参数的函数。在Python中,可以通过functools中的partial高阶函数来实现偏函数功能。
functools.wraps(func)
增加@functools.wraps(f), 可以保持当前装饰器 去 装饰的函数的 name 的值不变,默认有 module、name、doc,
python 装饰器
python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能
参考1
参考2
import xml.etree.ElementTree as ET
解析.xml文件
tree=ET.pasrse(name)
得到根节点
root=tree.getroot()
找到任意一个子节点
filename=root.find(‘filename’).text
找到任意多个子节点
root.iter(‘object’)