自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 opencv-python: 输出视频——正确设置分辨率

当我们使用opencv-python利用图像生成视频时,通常需要cv2.VideoWriter()命令,比如下面给出一个具体例子“”“下面程序是将img_in_dir目录下的100帧图像转成视频video.mp4”“”import osimport cv2import numpy as npdef visualize(img_in_dir, video_out_path): fourcc = cv2.VideoWriter_fourcc(*'mp4v') out = cv2.

2020-09-22 15:32:21 75

原创 Numpy:矩阵拼接

矩阵拼接方法:np.append(arr,values,axis)np.concatenate(arrays,axis,out=None)np.stack(arrays,axis,out=None)np.hstack/vstack(tup)下面具体举例,注意输入和输出维度的关系。1. np.append(arr,values,axis)支持数组和数组或数组和数的拼接,不支持三个及以上数组的拼接,axis默认值为None# 两个(3,4)维度的数组a = np.array([ [

2020-09-19 20:02:12 84

原创 Python:跨文件夹模块调用中的路径问题

本文介绍Python中跨文件夹调用时,产生的相对路径问题和模块搜索路径问题。1. 相对路径问题 假定我们的文件结构如下:myExperiments -> test_1 -> test_1.py -> img.jpg -> test_2 -> test_2.py 并且test_1.py中有如下函数,即读取img.jpg文件并返回其是否为None(为None表示读取失败):import cv2def read_image(): img = cv

2020-07-19 15:48:53 92

原创 PyQt5:pyinstaller发布过程中的一些问题

问题:当我们使用PyQt5编写好界面程序后,需要发布该程序,使其成为可执行文件,此时我们可以借用pyinstaller来完成,本文记述这个过程中笔者所遇到的一些问题,希望能对他人有一定的借鉴意义。  1、程序发布 这里,我有一个使用QtDesigner设计的.ui文件(myMainWindow.ui)和一个在此基础上进行逻辑设计的.py文件(mainWindow.py),在.py文件中使用“uic.loadUi()”来对.ui文件动态调用;另外,界面程序中使用的图片文件在“icon/”文件夹中。如下

2020-05-22 11:28:33 164

原创 Word:论文排版专题——表格跨页续表

当文档中表格较长时,会容易产生跨页现象。这时为了使格式间接清晰,需要对第二页的表格加入同样的表头和题注。*注:本文使用的是Word2016,不建议使用WPS1. 原始表格 假设我们的情况如下图,表1产生了跨页2. 重复标题行 首先,为了使得表格美观,一般在第二页进行重复标题行处理。方法是选中第一行(标题行),然后在“表格布局”中点击“重复标题行”即可。可以看到,在第二页中的表格也增添了“A-B-C-D”的标题行。3. 添加“续表”题注 这里我们希望为第二页的表格也添加题注”续表1 实验结

2020-05-12 19:51:13 1403 3

原创 Word:论文排版专题——多级列表与插入题注

本文介绍word中多级标题的设置,以及如何插入含章节号的题注(Word2016)1. 初始状态 假设我们的文章初始状态如下,包括一级标题“绪论”、“实验方法”;二级标题“课题背景”、“研究现状”、“实验方法”、“实验结果”;三级标题“方法一”、“方法二”;剩余为正文部分,包括一张图片。 下面我们介绍如何对其设置多级标题,以及为图片插入题注。2. 多级标题2.1 设置标题样式 在开始栏...

2020-05-05 19:59:44 592

原创 UnicodeMath:优雅地在Word中写公式

小学一年级时我们学到,word中内置了公式编辑器功能,而且这个功能如今越来越完善,或许可以让我们抛弃MathType等额外工具了。比如Word2010以后,word中插入公式只需要简单的“Alt”+“=”组合键即可。而且,更优雅的是,Word中支持以UnicodeMath格式编写公式(官方还说支持LaTex格式,可我的Word2016中没看到这个功能…)下面给出一些相关资料,方便查阅使用* ...

2020-04-20 22:11:52 330

原创 Numpy:np.isin()

numpy中腌膜(mask)功能是个十分实用的技巧,可以参考这篇文章。考虑以下场景: 给定一个数组和一个“集合”,该集合为数字构成的array_like类型,我们需要从该数组中锁定那些属于该集合的元素。 比如给定如下数组a和列表b,那么我们期待得到腌膜c:a = np.array([ [1,2,3], [4,5,6], [7,8,9]])b = [3,4,5,6...

2020-04-18 16:16:07 260

原创 Numpy:单括号与多括号

今天使用Numpy时出现了一个bug,经过和同学的讨论才最终得以解决…1. 问题:给定数组:a = np.array([ [1,10,1], [2,20,2], [3,30,3], [2,40,4]])要求:如果某一行的第0个元素为2,那么将它的第1个元素改为100即期望输出为:[[ 1 10 1] [ 2 100 2] [ 3 ...

2020-04-17 11:37:59 531

原创 Python dict:字典删除多个元素

关于删除字典的元素,有很多接口函数可用,如del、pop、popitem、clear等,详见官方文档和菜鸟教程下面介绍给定待删除键值的情况下,如何删除多个字典元素:d = {x:x for x in range(5)}popKeys = [2,3]for k in popKeys: d.pop(k)print(d)[Out]:{0: 0, 1: 1, 4: 4}或者,也可...

2020-04-14 17:25:00 1991

原创 Linux命令:xargs

参考:菜鸟教程1. 命令基本介绍2. 示例 比如我当前目录如下: 我希望使用Linux命令将“000005.jpg”~“000008.jpg”复制到dst目录下。 这里我们首先需要利用“ls”命令来获取所有的“.jpg"文件:ls *jpg 然后,我们需要利用tail命令来从第5个文件开始截取:ls *.jpg |tail -n +5 同理,我们只保留上述结果的前4个文件:l...

2020-04-13 17:31:08 28

原创 GaitSet(IAAA2019)(步态识别)

 GaitSet是一种针对步态识别问题提出的模型,其切入角度新颖,模型灵活性高,速度快,且性能优秀。下面先介绍一下步态识别任务的基本信息(内容来源于网络查询和本论文的Introduction、Related Work部分),然后再介绍GaitSet架构。1.步态识别任务概述 步态识别任务和传统行人ReID任务类似,即给定注册样本和验证样本,找出验证样本中和注册样本具有相同身份的那些样本。常用数...

2020-04-12 18:58:57 1187

原创 HTC(CVPR2019)

 HTC(Hybrid Task Cascade)是基于Mask R-CNN和Casecade R-CNN、针对Object Detection和Instance Segmentation任务而设计的一种多阶段模型,并且该模型在COCO 2018 Challenge Object Detection Task中获得第一名。研究背景: Mask R-CNN通过为Faster R-CNN接入并...

2020-04-02 12:45:48 309

原创 BDB(ICCV2019)

论文链接:https://arxiv.org/abs/1811.07130github:https://github.com/daizuozhuo/batch-dropblock-network作者知乎简介:https://zhuanlan.zhihu.com/p/53241545?utm_source=qq&utm_medium=social&utm_oi=817295961...

2020-03-28 21:51:13 119

原创 PCB-RPP(ECCV 2018)

 《Beyond Part Models: Person Retrieval with Refined Part Pooling》论文连接:https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1711.09349github:https://github.com/syfafterzy/PCB_RPP_for_reID(不过作者好像没有提...

2020-03-28 11:42:05 256

原创 Cascade R-CNN(CVPR2018)

Cascade R-CNN是针对R-CNN系列的two-stage结构,针对“IOU阈值设计”带来的问题而设计的解决方案。在类R-CNN框架中,IOU阈值通常设为0.5,不过这种较低的阈值会为检测带来大量噪声。而若直接提高该阈值,则会造成“(traing time)正样本减少导致过拟合”、“(inference time)预测框和检测器的质量不匹配(mismatch)”等问题(Figure 1)。...

2020-03-26 11:43:22 137

原创 Mask R-CNN(ICCV2017 best paper)

(关于Mask R-CNN的简介)论文:https://arxiv.org/abs/1703.06870github:https://github.com/facebookresearch/detectron2推荐解析:简介:https://blog.csdn.net/u014380165/article/details/81878644详解:https://blog.csdn.net...

2020-03-26 09:46:04 77

原创 MOT Metrics—MOTA vs IDF1?

多目标跟踪中有及其庞杂的性能指标,可以参考这篇博客,其中有两个重要指标:MOTA和IDF1,那么这两个指标侧重点如何?(参考:https://zhuanlan.zhihu.com/p/35391826)MOTA综合考虑轨迹中的FN、FP、IDSW的现象(即虚检、漏检、ID交换)IDF1则是综合考虑IDP和IDR(综合ID准确率和ID召回率)值得注意的是,与MOTA不同的是,IDF1中...

2020-03-23 21:07:37 911

原创 opencv-python:编写个人画板

需求分析: 在一个背景图上(optional) 进行绘制,可以使用圆形刷子或画矩形,也可以使用圆形橡皮;圆形刷子或橡皮可以调整半径; 可以保存结果图以及前景图(即去除掉背景); 本程序可以用于为图像制作mask,因此也对“将mask作用于图像”进行了实现;所需库: import os import sys import cv2 import numpy as np完整源码及注释:...

2020-03-22 21:57:24 320

原创 Numpy:np.all() & np.any()

np.all() 和 np.any() 可以用于再ndarray中实现逻辑上“与”和“或”操作,这在制作ndarray的indices_mask时也很有用处PS:np.all(ndarray)/any(ndarray) 和 ndarray.all()/any() 是等价的方法官方接口和说明:def all(a, axis=None, out=None, keepdims=np._NoVal...

2020-03-22 18:10:24 477

原创 opencv-python:cv2.waitKey()使用注意

1. waitKey函数功能 说白了就是对键盘事件进行delay(ms)的等待(delay=0则为无限等待),若触发则返回该按键的ASSIC码(否则返回-1)2. 使用范例 这里我们创建一个全黑窗口,并设置按键功能(‘m’,‘n’则打印数字,'q’则退出) PS:ord()函数——Return the Unicode code point for a one-character stri...

2020-03-20 11:13:09 2151 3

原创 Windows:修改键盘映射表

问题场景:最近在用Colabeler做数据集标注,但是发现了一些不方便的地方:工具选择键“R”、翻页键“Right、Left”、保存键“Ctril+S”这些键离得太远了,不方便一套连续操作做下来,而Colabeler又不能修改这些对快捷键的映射,因此只能考虑直接对系统修改键盘映射表了~关于修改方法,可以用第三方软件来做,不过我这里就直接用最根本的方法,即修改注册表中的扫描码映射来解决~本文部分...

2020-03-13 15:03:55 456 1

原创 Numpy:np.sort() & np.argsort()

numpy 中提供了丰富的数组排序方法,这里只列举最常用的函数和用法~1. np.sort()sort(a, axis=-1, kind=‘quicksort’, order=None):Return a sorted copy of an array.这里,axis指定排序的维度,默认-1指的是最后一个维度a = np.array([ [1,5,9], [4,2,6...

2020-03-08 20:25:45 629

原创 Python bug:list.insert()无返回值

1. 问题场景:为一个“二维”list中每个“一维”list的开始位置插入一个新元素例:[[1,2,3], [4,5,6]] -> [[‘head’,1,2,3], [‘head’,4,5,6]]2. 错误方法a = [[1, 2, 3], [4, 5, 6]]a = [x.insert(0, 'head') for x in a]print(a)[Out]:[None, N...

2020-03-06 22:31:20 73

原创 Numpy :np.max & np.maximum

ps:np.min/np.minimum同理ps:这里只介绍最常用的功能,详细功能请查看官方文档1. np.max 计算一个数组中的最值(1)基础用法a = np.array([ [1, 2, 3], [4, 5, 6], [7, 8, 9]])print(np.max(a))print(np.max(a, axis=0))print(np.max(a, ...

2020-03-06 22:20:58 87

原创 os:重要函数辨析

python中的os库是一个强大实用的文件及目录处理库,这里辨析几个常见os的功能1. os.path.split() & os.path.splitext()(1)os.path.split() 将文件路径与文件名区分开,返回为元组path = '/data0/dyh/tmp/tmp/tmp.txt'print(os.path.split(path))[Out]:('/dat...

2020-03-05 10:52:22 45

原创 Github:解决电脑无法登陆github.com问题

问题场景:同样连接家庭wifi,手机和ipad可以登陆github,电脑却访问不了解决方法:修改hosts文件(C:\Windows\System32\drivers\etc),删去下面这一行即可hosts文件介绍所以,上述问题的原因是, hosts而将github.com解析成了无效ip,导致无法访问!删去之后将解析任务交给DNS服务器就好了~...

2020-03-03 19:15:41 534 2

原创 Chrome:Video Speed Controller插件安装与使用

场景:刷网课学分,需要视频加速1. 下载下载地址可以自行查找,我是用的是这个网站的地址下载下来是一个.rar压缩包,可以解压出来.crx文件(有些网站可能直接下载下来就是.crx文件)2. 安装打开Chrome的程序扩展页(chrome://extensions/),将.crx文件拖动到该页面,就会提示安装了!不过,可能会遇到报错:CRX_HEADER_INVALID解决办法是,...

2020-03-03 09:02:48 5740 8

原创 Linux:创建新用户并安装anaconda3

1. 创建新用户(1)sudo adduser dyh  2. 联网(1)生成联网脚本(2)运行联网脚本(3)联网成功  3. 安装anaconda3(1)找到对应版本的安装包,下载,并bash运行 wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh注意,新安装a...

2020-02-29 15:24:35 168

原创 固态硬盘安装:Lenovo Rescuer 15ISK

1. 固态接口查询查询网址:固态硬盘升级(加装)查询… 未完待续

2020-02-26 19:10:52 304

原创 图像处理:压缩方法对图片大小的影响(cv2 vs PIL)

同一图片,用不同的库读取并保存后,图片大小受压缩方式影响很大~试验方法:- python库opencv与PIL- 输出格式:png与jpg代码如下,仅仅是直接读入然后保存而已import cv2from PIL import Imagename = 1 # 2img = Image.open('{}.jpg'.format(name))img.save('{}_pil.jpg...

2020-02-26 10:15:37 505

原创 PS:“内容识别填充”去水印

1. 内容识别填充  矩形框选中水印区域,“编辑—内容识别填充”,然后调整参数后回车即可~   2. 利用“色彩范围”+“扩展”+“内容识别”...

2020-02-21 20:30:15 314

原创 PyQt5:QPainter使用注意

官方文档:https://doc.qt.io/qtforpython/PySide2/QtGui/QPainter.htmlQPainter是Qt中一个方便的绘图类,下面以“为界面填充背景”为例,说明一下QPainter使用时需要注意的点先给出完整程序,其中’try/video_1.ui’是提前用designer写好的一个ui文件,'icon/bg_2.jpg’是一张背景图:import s...

2020-02-12 22:13:06 565

原创 PyQt5:简易视频播放器

本文旨在介绍如何使用PyQt5制作简易的视频播放器ps:有些网友也许会遇到只能播放avi格式视频,而mp4等格式无法播放的问题(DirectShowPlayerService::doRender: Unresolved error code 0x8040266 (IDisspatch error #102)),这需要下载一个解码器,可参考这篇博客。Version 1:最简易播放器 直...

2020-02-12 21:36:50 972 2

原创 Python trick:[::] & reversed—列表的倒序遍历

1. 问题场景列表倒序遍历length = 10my_list = [i for i in range(length)]2. 实现方法2.1 rang()for i in range(length-1, -1, -1): tmp = my_list[i]2.2 reverse()for a in reversed(my_list): tmp = a2.3 [...

2020-01-13 20:31:49 66

原创 Python trick:filter—序列滤波

1. 问题场景删除列表中的正数部分my_list = [i for i in range(10)]for it in my_list: if it>0: my_list.remove(it)print(my_list)out: [0, 2, 4, 6, 8]2. 问题分析for … in 遍历中,是利用下标遍历的,这个下标从开始就固定了:0~9而随...

2020-01-11 17:14:10 114

原创 Python trick:zip—同时遍历多个等长列表

1. 问题场景同时遍历两个长度为length的列表2. 可选方案双层循环利用index单层循环访问利用zip单层循环访问3. 实现代码length = 100000a = list(np.random.rand(length))b = list(np.random.rand(length))time1 = time()# 方法一for i in a: for j...

2020-01-11 11:30:44 116

原创 Numpy trick:矩阵运算优化

1. 问题场景按pair-wise计算两组L维向量的平方差距离:输入矩阵维度为 a:M×L,b:N×L输出矩阵维度为 c:M×N,其中entry(i,j)为第i个L维a向量和第j个L维b向量间的平方差距离M, N, L = 10, 20, 50 a = np.ones((M, L), dtype=np.float32)b = np.ones((N, L), dtype=np.fl...

2020-01-09 21:50:06 236

原创 Linux:.sh文件的格式及权限管理

问题场景在Windows下git clone了一个工程,并通过PyCharm远程传到Linux服务器上。执行dist_test.sh文件,报错1. dos与unix从上述报错中我们可以看到,报错原因是“$’\r’: command not found”,也就是发现了未知的“/r”命令。我们用vim打开dist_bash.sh文件,发现其为"dos"格式:而我们在Linux下应该使用...

2020-01-08 16:49:19 170

原创 Numpy trick:array[mask]

本文简介一个numpy中的小trick,即用一个dtype=boolean的list作为mask来读取np.array原理很简单,直接给示例:array1 = np.array([1,2,3,4])array2 = np.array([[1,2,3,4,5], [6,7,8,9,10], [11,12,13,14,15], ...

2020-01-05 13:13:25 139

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除