openCV
常用函数
读取图片/帧
1234cv2.imread('文件路径',参数)# 读取图片cv2.VideoCapture()# 从摄像头、视频帧读取帧图片
cv2.imread()参数
0 灰度图 cv2.IMREAD_GRAYSCAL
1 默认 三通道 cv2.IMREAD_COLOR OpenCV 以 BGR 模式读取 可用cv2.cvtColor转换为RGB
-1 原始格式 cv2.IMREAD_UNCHANGED
保存图片
1cv2.imwrite('output.jpg', image)
展示图片
1cv2.imshow('窗口名称',图片路径)
图像预处理
1234567cv2.cvtColor(image,参数)# 色彩转换# 参数与cv2.imread()参数相同cv2.resize(image,图像大小)# 调整图像大小# 图像大小参数可以是简单的(200,500),也可以是更为复杂的方法
图像边缘检测
123cv2.Canny(image,阈值1,阈值2)# 边缘检测# 阈值较小时,能够捕获 ...
C++基础
基本数据类型
C++基本数据类型包括整型、字符型、浮点型、布尔型
基本整型
char 1字节(8位)
short 至少2字节(16位,2^16=65536)
int 至少2字节(16位,[-32768,32767]) unsigned int(16位,[0,65535])
long 至少4字节(32位)
long long (C++11) 至少8字节(64位)
tips:可以通过头文件查看整型限制信息
char是C++基本整型,字符串string不是基本数据类型,字符串使用std::string类,属于C++的标准库。
char本质是一个整数,由cin/cout处理字符流
char有无符号由C++判定 char/signed char/unsigned char
wchar_t是一种宽字符类型(2字节),原本的char为1字节,此时使用wcin/wcout处理字符流
C++新增char16_t(2字节)/char32_t(4字节)
123456789int a(12);// C++初始化方法int a = 12;// C/C++初始化方法int b{ 12 & ...
语法
{}
1234567hash_table = {}hash_table[6]=2print(hash_table)hash_table[2]=4print(hash_table)print(hash_table[6])
123{6: 2}{6: 2, 2: 4}2
练习:https://leetcode.cn/problems/two-sum
[()]
12345my_list = [(3, 1), (2, 3), (1, 5)]print(my_list)print(my_list[0])print(my_list[0][1])print(my_list[0][0])
123[(3, 1), (2, 3), (1, 5)](3, 1)3
lambda
https://www.runoob.com/python3/python-lambda.html
lambda 参数: 表达式
例如,结合sort,根据每个元组的第二个元素对列表进行排序
123my_list = [(1, 5), (2, 3), (3, 1)]my_l ...
NER-浅层理解
简介
命名实体识别 (Named Entity Recognition,NER)是自然语言处理 (Natural Language Processing, NLP)领域中一项基础的信息抽取任务,NER往往是关系抽取、知识图谱、问答系统等其他诸多NLP任务的基础。
命名实体识别任务是指从给定的一个非结构化的文本中识别出其中的命名实体 ,并对实体进行分类。命名实体例如时间、人名、地名、机构名等。
命名实体识别任务常常转化为序列标注问题 ,利用BIO、BIOES和BMES等常用的标注规则对经过分词的文本进行token标注。通过构建模型对文本的每个token标签进行预测,进而进行实体识别。
序列标注的命名实体识别众多方法中将CNN、RNN和BERT等深度模型与条件随机场CRF结合已经成为最主流和普遍的方法。
基于序列标注的命名实体识别的发展历程
[机器学习]:早期传统机器学习时代,除了利用人工规则的方法外,往往利用隐马尔科夫链HMM和条件随机场CRF进行实体标注;
[深度学习]:随着深度学习的发展,将CNN和RNN做为基本的文本特征编码器,更好的学习token或word的 ...
Node.js
nvm
nvm是一个node的版本管理工具,可以对node的版本进行控制。
Releases · coreybutler/nvm-windows
npm
npm用于初始化工程、管理依赖。
NVM操作
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869C:\Users\M_YoungBW>nvmRunning version 1.1.12.Usage: nvm arch : Show if node is running in 32 or 64 bit mode. nvm current : Display active version. nvm debug : Check the NVM4W process for known prob ...
个人愚见,仅供参考
文章仍在润色
雷达
雷达照射范围内目标判断
背景描述
老式雷达需要旋转来进行360°扫描,这种雷达称为机械扫描式雷达。
这种雷达天线发射的雷达信号宽度和方向是一定的,通过机械装置的旋转,使其能扫描360°方位内的目标。
雷达屏幕中的那条亮条就是旋转到的角度
由于机械扫描有一定的间隔时间,而且机械装置和天线安装位置的高度会影响其扫描的角度,因此这种雷达一般会有一定的死角,战争史上这种死角使军队遭受过较大的损失。
目前,无死角的扫描雷达已有许多成熟的产品(相控阵扫描雷达),区别于传统的机械雷达,相控阵雷达是通过改变天线阵元的上电信号相位角,使其改变扫描方向,而且可以通过多通道控制和多频率馈电方式,实现雷达的多目标扫描和跟踪。这种雷达内部干扰小,再配合上高性能计算机,其信息处理能力远高于机械雷达。不过单块天线阵列只指能针对一定的角度,要想全360扫描,需要在空间上布置3~5块天线阵列,因此这种雷达体积较大。
雷达单个波束的照射范围一般呈锥形,锥形中心线到锥形边沿线的夹角(半锥角)称为雷达波束宽度。
判断雷达单波束照射范围内是否存在目标需要知道以下输入数据:
仅计算理 ...