摘要:
python concurrent.futures python因为其全局解释器锁GIL而无法通过线程实现真正的平行计算。 IO密集型: 读取文件,读取网络套接字频繁。 计算密集型: 大量消耗cpu的数据与逻辑计算,即平行计算。 concurrent.futures模块, 可以利用multiproc 阅读全文
摘要:
多线程的实现 并发:多个任务同一时间段进行 并行:多个任务同一时刻进行 线程模块 Python通过两个标准库_thread 和threading,提供对线程的支持 , threading对_thread进行了封装 因此在实际的使用中我们一般都是使用threading,threading模块中提供了T 阅读全文
摘要:
python 内存节省的方法 【问题】 程序创建大量(可能上百万)对象,导致占用大量内存 【方法】 一、创建大量的对象 对于主要当成简单的数据结构类而言,通过添加__slots__属性来极大的减少实例所占用的内存 eg: class Date: __slots__ = ['year', 'month 阅读全文
摘要:
生成器 生成器本质上也是迭代器,但更为特殊以 list 容器为例,在使用该容器迭代一组数据时, 必须事先将所有数据存储到容器中,才能开始迭代;而生成器却不同,它可以实现在迭代的同时生成元素。 不仅如此,生成器的创建方式也比迭代器简单很多,大体分为以下 2 步: 定义一个以 yield 关键字标识返回 阅读全文
摘要:
chardet 模块 使用通用编码检测器库的最简单方法是使用detect函数, detect函数有一个参数, 即非 unicode 字符串。 它返回一个字典, 其中包含自动检测的字符编码和从0到1的置信度。 import chardet def char_det(det_str: str)->str 阅读全文
摘要:
几何变换 目标: 了解图片的几何转换,eg:平移,旋转,仿射变换 etc 转换 opencv 提供了2种转换函数 cv.warpAffine 和 cv.warpPerspective cv.warpAffine 需要 2x3 转换矩阵,而 cv.warpPerspective 需要 3x3 转换矩阵 阅读全文
摘要:
图像处理 颜色转换 颜色转换一般有150多种,常用的有2种BGR ↔ Gray, BGR ↔ HSV 注意 HSV 色调范围[0,179], 饱和度范围[0,255], 值得范围[0,255] 应用场景 目标跟踪 我们可以利用颜色特征,颜色对象,利用HSV更加容易得到,步骤如下: 抽取视频得每一帧 阅读全文
摘要:
定义: 简单来说就是把存在的目标从图片中找到并识别出来。 方法: 传统目标检测 传统目标检测 流程: 区域的选择 特征的提取 分类器 区域的选择 对目标位置进行定位。 方法: 滑动窗口对整幅图像遍历的策略 原因: 目标可能出现在任何位置 目标的尺寸不定(目标大小,长宽比例) 缺点: 需要设置不同的尺 阅读全文
摘要:
角点检测 原理: 特性:向任何方向移动变化都很大 Harris 角点检测 将窗口向各个方向移动(u,v)然后计算所有差异的总和,窗口函数可以是正常的矩形窗口也可以是对每一个像素给予不同权重的高斯窗口。 角点检测中要使E (u; v) 的值最大。这就是说必须使方程右侧的第二项的取值最大。 详情参考:h 阅读全文
摘要:
######概念 交叉验证,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在下次可能成为测试集中的样本,即所谓“交叉”。 ######使用场景 数据不是很充足 阅读全文