自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++STL各个容器使用介绍

文章目录前言一、容器1.序列式容器字符串(string)vectorlistdequestackqueueheap2.关联式容器setmapmultisetmultimaphashtable二、算法三、适配器参考文献前言  这人呀,年纪一到脑子就不够用了,每次使用STL中的一些函数时,大概有些映像,但是就是不能具体想出函数名称是啥或者具体参数是啥,百度大法虽然好但是着实影响效率,今天我就整理一下STL中的常用容器和常用函数用法,一篇博文基本解决STL的常用用法。一、容器1.序列式容器字符串(st

2022-07-22 11:05:02 567 1

原创 centernet网络中dcn模块介绍与编译

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入前言  最近用到centernet网络,其中用到一个dcnv2模块,

2021-09-23 10:04:39 1518 1

原创 模型转换:pth转onnx

文章目录前言一、pth转onnx模型二、使用步骤1.引入库2.读入数据总结前言  休闲大半个月,终于又要开始认真工作了,果然游戏害人(淦),废话不多说,现在开始工作,我在转模型的时候遇到总总问题,先是转化不成功(前面有文章说过这个问题),后面转成功了但是我前几天想用那个模型的时候发现,转化的模型有大问题,首先是数值上和pth文件不一致,其次甚至没有BatchNormalization模块,具体看下图(netron查看onnx模型)  我思索了良久,下面给出转模型的全过程以及解决上述问题的方法。一

2021-08-26 10:09:15 14971 14

原创 基于leastsq()函数拟合圆

import numpy as npfrom scipy.optimize import leastsqimport cv2import mathdef cal_distance(p1=(), p2=()): return math.sqrt(math.pow((p2[0]-p1[0]), 2) + math.pow((p2[1]-p1[1]), 2))def residuals(p,d): a,b,r=p return r**2-(d[:,0]-a)**2-(d[:,1

2021-07-29 22:28:26 506

原创 .pth转.onnx报错:RuntimeError: Only tuples, lists and Variables supported as JIT inputs, but got dict

项目场景:最近在弄一个项目,用到了CenterNet网络(主干网络选择的是resnet,非DCN模块),转化模型一直出错:经过多次试验,是pytorch版本太低导致的,开始用的pytorch1.2一直出错,后面用pytorch1.9后成功转化模型。后续,会更新详细的转换模型中需要注意的事项,以及opencv的dnn模块加载.onnx模型进行模型推理的整体过程。...

2021-07-24 21:13:10 3288 2

原创 Windows 10 VS2019 环境下安装使用BLAS线性代数库

最近想用c++写一个简单的cnn网络,需要用到blas库,学习了网上大佬们的安装方法,尤其借鉴了这位大佬的博文:https://blog.csdn.net/weixin_35776029/article/details/52719079 (ps:标题都模仿人家的),遇到了一些问题,当然也解决了,后文会说,主要有些部分和大佬的不太一样,稍微记录一下,希望能帮助到看到这篇博文的你。材料准备1.下载blas库,下载地址:https://github.com/xianyi/OpenBLAS2.下载并安装per

2021-05-14 17:08:58 3921 5

原创 opencv火焰检测小项目

文章目录前言一、基于RGB颜色的火焰检测二、使用步骤1.引入库2.读入数据总结前言最近要实现一个利用颜色特征实现火焰检测的小作业,起初我觉得很无聊,利用颜色特征的话无非就是寻找火焰颜色特征的区间(找火焰的RGB三通道值分别属于哪一个区间,然后定义阈值将火焰剖出来)详细请看下文,但是却发现除了R分量G和B分类的分布没什么大的规律可言,实现效果比较差,然后我就查阅文献用了其他的方法。。。平台介绍:opencv4.4vs2019一、基于RGB颜色的火焰检测  基于RGB颜色的火焰检测,首先需要.

2021-05-10 14:51:28 3901 1

原创 图像处理小tip——中值滤波的多种实现(包括快速中值滤波算法)

文章目录中值滤波介绍opencv自带的中值滤波函数简单算法实现中值滤波快速算法实现中值滤波中值滤波介绍中值滤波介绍中值滤波定义:将????(????为奇数)个数据按其值????????进行从大到小或者从小到大排列后得到一个有序序列:????0,????1, … ,????????−1,则????(????/2)称为中值。例如:有序序列10,11,12,13,14,15,16,17,18的???? = 9,有 [9/2] = 4,则中值为????4,即14。  根据以上可知,中值滤波就是以当前像素为

2021-05-09 14:30:02 3610

原创 opencv的反人类设定——行和列以及坐标

文章目录前言坐标和行列前言  重要的事情说三遍:opencv中的行列和坐标不是对等的!!!  。。。opencv也用过一段时间了,虽然我没有系统的学习过这个开源包,之前也有些轻视,毕竟也就是一个开源包么,边用边学也不是不行,磕磕绊绊用了一段时间,也没啥问题,知道我想用rectangle函数画图,涉及到坐标时我整个人都开始凌乱了。。。坐标和行列  初学opencv,你是不是经常用image.at < uchar > (i,j)来访问像素点?具体而言是这样?for(int i=0.

2021-05-08 16:46:16 1014 1

原创 leetcode刷题(C++)_数据结构_1链表

文章目录指针必刷题准备知识题解1)相交链表2)链表反转指针必刷题相交链表链表反转准备知识题解1)相交链表题目描述:解法一(暴力法):/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {p

2021-04-21 00:27:30 107

原创 串的模式匹配算法

题目:确定子串中所含子串第一次出现的位置。例:BF算法的实现(暴力法)  依次拿出S的字符和T的第一个字符进行比较,相等则从S的这个字符开始依次与T的字符进行比较,经比较所有都成功匹配,则返回S这个字符的小标,存在不相等情况,则拿出S的下一个字符和T的第一个字符进行比较,循环上述过程。MMP算法解释:当发生失配时,我们可知需要重新从S中拿出字符开始比较,在BMP算法中这个重新拿出来的字符串的位置就和BF不一样了,BF是拿出上一次开始比较的字符的下一个,BMP则是需要利用T中已经匹配的那一

2021-04-20 20:38:50 76

原创 leetcode刷题(C++)_算法_2排序

文章目录排序笔刷题题解1.数组中的第K个最大元素快排解法堆排解法排序笔刷题题解1.数组中的第K个最大元素  题目链接:215.数组中的第K个最大元素题目大意:解析:先排序后直接输出倒数第k个数。快排解法class Solution {public: int findKthLargest(vector<int>& nums, int k) { //基本思想:排序,然后找倒数第k个数 //排序方法:快排 //快排的

2021-03-25 21:16:26 132

转载 c++小知识3_内存分配和重载

c++内存分配  c++内存分配有两种方法:1.malloc/free,其是C/C++标准库的函数; 2.new/delete操作符,C++独有的操作符malloc/free编程举例:

2021-03-20 15:00:39 221

原创 TypeError: object of type ‘zip‘ has no len()

项目场景:  写代码时有这样的报错:TypeError: object of type ‘zip’ has no len(),意思是zip类型的对象不能用函数len(),如下:解决方法: &emsp;需要明白len()函数一般常用在列表上,因此将’zip‘对象转化为列表就可完美解决此问题:方法1:list()函数如下:方法2  或者从源头开始解决,不用zip()函数,利用[ ]将其化为列表,见如下:  细心的同学已经发现这两种方法产生的结果是有区别的,其体现在构造列表上,需要

2021-03-17 00:11:53 1571

原创 numpy学习小知识2——内积和*的区别以及删除一列

内积和*的区别直接乘:  可以看到乘法是直接对应元素相乘。内积删除一列或一行numpy中的delete函数可以实现这个功能,见如下:删除矩阵aa的第一行利用上面式子解释相关形参:delete()函数第一个参数是需要进行删除操作的原矩阵,第二个参数说明删除第n行(或列),0为第1行(列),1为第2行(列)依次类推,此外还可以用[n1,n2,n3…]表示删除第n1-1、n2-1、n3-1行(列),第三个参数axis=0说明删除的是行,axis=1说明是删除列删除列:...

2021-03-16 21:15:46 132

原创 leetcode刷题(c++)_数据结构_2树

文章目录树必刷题准备知识树必刷题leetcode题解树:递归1.树的高度2.平衡树3.两节点的最长路径4.翻转树5.归并两颗树6.判断路径和是否等于一个数7.统计路径和等于一个数的路径数量8.子树9.树的对称10.最小路径11.统计左叶子节点的和12.相同节点值的最大路径长度13.间隔遍历14.找出二叉树中的第二小的节点层次遍历1.一棵树每层节点的平均数2.得到左下角的节点前中后序遍历1.非递归实现二叉树的前序遍历2.非递归实现二叉树的后序遍历3

2021-03-15 21:15:10 162

原创 numpy学习小知识汇总1——一维数组转置问题

问题描述  最近学习numpy,总是出错在一维数组的转置问题上,下面给出一个例子感受一下这个问题。  可以看到上述的d和p完全相同,并没有想象中将1x4的数组转化为4x1的数组。   下面给出解决方案。方法一  利用expand_dims()函数扩展维数:方法二  ...

2021-03-15 16:26:42 486

原创 pytthon学习笔记4_组合数据类型和numpy矩阵类型

文章目录前言一、组合数据类型1.集合类型2.序列类型3.映射类型二、numpy矩阵前言  最近想要写一个简要的深度学习框架,里面将要运用到大量的数组运算,因此在此处复习一下组合数据类型和numpy矩阵,以便届时能够更加流利的书写相关代码。一、组合数据类型  Python语言中最常用的组合数据类型有三大类型,分别是集合类型、序列类型和映射类型。  集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。   序列类型是一个元素向量,元素之间存在先后关系,通过序号访问,元素之间不排他。序列

2021-03-13 15:59:17 401

转载 c++小知识_string类

文章目录前言一、构造字符串二、操作符三、重要函数前言   本文将总结c++种string类型的用法。内容摘自:https://blog.csdn.net/weixin_38481963/article/details/79261952https://blog.csdn.net/cny901111/article/details/7769314一、构造字符串构造函数描述string(const char * s)将string对象初始化为s指向的NBTS(NBTS:以空字符

2021-03-09 17:35:45 116

原创 算法导论_第16章_贪心算法

文章目录前言一、贪心算法二、动态规划例题1.分糖果2.活动选择问题结论前言  本文大部分是观看B站视频后记录的笔记,因此为了偷懒,本文有大量的截图,看着不舒服的话可以去看原视频。一、贪心算法  贪心算法,顾名思义,贪心就完事了。对于这种抽象的算法,我的一贯想法是通过实例将其具体化。下面给出一个例子,好好感受:  上题的解如下://2021.3.8//钞票支付问题(动态规划法也可解)//对于此问题需要注意的是,贪心法可能得出最优也可能无法得出全局最优,这取决于硬币的种类#includ.

2021-03-08 16:25:54 515

原创 算法导论_第15章_动态规划

文章目录一、动态规划二、动态规划例题1.最少硬币问题(最小)2.钢条切割问题(最大)3.不同路径问题(计数2)4.青蛙过河(存在性动态规划)一、动态规划  动态规划与分治方法类似,都是通过子问题的组合来求解原问题的,但是分治法是划分为互不干扰的子问题而动态规划划分的子问题往往都是具有重叠效应的,前一个子问题会影响后一个子问题。  动态规划题目种类:计数有多少种方式走到右下角有多少种方法选出k个数使得和是sum求最大最小值从左上角走到右下角路径的最大数字和最长上升序列长度求存

2021-03-07 20:53:39 494

原创 c++小知识2_随机数和概率

文章目录一、c++中常用的随机函数二、使用步骤1.引入库2.读入数据总结一、c++中常用的随机函数函数名称作用int rand(void)返回0~RAND_MAX(32767)的整数void srand(unsigned int seed)srand()函数就是用来设置rand()函数的种子的time(NULL)函数会返回1970年1月1日至今所经历的时间(以秒为单位),需要引入头文件<time.h>示例:pandas 是基于NumPy 的一种工

2021-03-05 15:07:24 792 1

原创 算法导论_第四章_分治策略及部分经典例题

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言  一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnin

2021-02-27 23:35:59 705 1

转载 c++小知识1_c++函数返回多个值&c++中各个数据类型的最大值和最小值表示

文章目录一、c++函数返回多个值二、c++中limits.h中的内容一、c++函数返回多个值本部分学自链接:https://blog.csdn.net/wy_bk/article/details/90641111.  C++ 中不允许把一个数组或者多个数值作为一个整体返回,也就是说,对于 C++ 中的任何一个函数,其返回值只能是 0 个或者 1 个单独的数字,不能是一个数组或者多个数字。不过天无绝人之路,c++提供了指针函数这一方法可以通过返回一个指针解决这个问题。C++ 中指针函数的基本形式:

2021-02-26 20:07:22 357

原创 神经网络学习笔记1_深入浅出神经网络与深度学习

文章目录前言一、神经网络系统的前馈计算方法二、使用步骤1.引入库2.读入数据总结前言  学习深度学习的过程中发现一本好书——《深入浅出神经网络与深度学习》,以前不太懂的部分知识在仔细研读了这本书后豁然开朗,本着记录学习心得的态度在此处写下我对神经网络的理解,希望能对你有所帮助。一、神经网络系统的前馈计算方法  学习神经网络系统需要了解其前向的计算算法以及反向传播算法更新权值和偏置。前馈计算方法用于给定输出依次计算输出,这比较简单,依次对每一层神经元进行计算即可,下面基于一个例子加以介绍。示例:pa

2021-02-25 23:32:40 690 1

原创 python学习笔记3_numpy包的相关介绍

文章目录ndarray.ndim #获取ndarray的维数ndarray.shape #获取ndarray各个维度的长度ndarray.dtype #获取ndarray中元素的数据类型ndarray.T #简单转置矩阵ndarray项目Valuendarray.ndim获取ndarray的维数ndarray.shape获取ndarray各个维度的长度ndarray.dtype获取ndarray中元素的数据类型ndarray.T简单转置矩阵ndar

2021-02-23 15:35:47 76

转载 vector函数总结

文章目录前言vector简单说明迭代器的使用vector的成员函数以及作用vector用法示例前言时隔两个月没用c++写代码,vector的一些相关函数就忘得七七八八了。、、在这把vector的一些用法总结一下,大部分来源于: https://www.cnblogs.com/zuixime0515/p/10507187.html.(ps:大佬总结的很到位,有兴趣的同学们可以去关注关注。)vector简单说明vector也是一个容器,并且是个顺序容器。顺序容器有可变长数组vector、双向链表li

2021-01-30 22:28:48 894 1

原创 python学习笔记2_包和模块

文章目录前言一、什么是模块(一)(二)二、包(package)前言结合B站视频对模块进行简单讲解。一、什么是模块(一)容器:数据的封装函数:语句的封装类:方法和属性的封装模块:模块就是程序其中,test.py的 代码如下:def hi(): print("hello world!")page_16_ADALINNE.py中的代码如下:import numpy as npimport testtest.hi()运行结果:说明:在同一目录下直接利用import导

2021-01-29 11:42:43 74

原创 python学习笔记1_pip在线安装包(cmd指令)

简单操作一次第一步:cmd,打开命令窗口,输入pip看pip工具是否安装成功。成功,接下来利用install命令,输入pip install numpy就可以下载numpy包了(numpy可以换成你想下载的所有包)。下载成功!!常用命令介绍安装包:pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com卸载包: pip uninstall 包名 -ypip升级:python -m pip

2021-01-22 10:33:53 1200

原创 图像特征计算——颜色特征

文章目录一、颜色特征二、使用步骤1.引入库2.读入数据总结一、颜色特征二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings('ignore')import sslssl._create_default_https_context = ssl.

2020-12-22 19:32:39 3703 3

原创 opencv中Mat类矩阵元素的类型转换(一)

文章目录一、Mat类中灰度图像数据类型定义二、灰度图像数据类型转化工具:opencv4,vs2019opencv的Mat类中有许多不同的数据类型,而且有些定义的又臭又长,对新手而言学习使用及其不方便,下面简单介绍一些数据类型并介绍相关的数据转换方法。部分内容摘自:https://www.jianshu.com/p/204f292937bb.一、Mat类中灰度图像数据类型定义二、灰度图像数据类型转化可以利用converTo函数对图像矩阵中的元素类型进行转化。//本程序用于测试所学内容,积累

2020-12-07 17:41:42 1059

原创 opencv官方的文档该怎么看(持续更新)

opencv是一个非常实用的图像处理源码库,想要深入学习opencv,看官方API文档,深入研究opencv源码是非常有必要的。opencv更新换代非常快,市面上没有什么特别好的书籍介绍opencv的使用(官方文档已经足够好用),建议有一些基础后直接啃官方文档,没事看看起码要会查,小白一只在学习opencv中在此记录一些学习笔记,有错误的话请务必告知。(1)常用的功能模块core: 包含基本的数据结构,Mat类,和供其它模块调用的一些基本函数;imgproc: 图像处理模块,包含线性和非线性的图

2020-12-06 20:44:32 1287

原创 根据图像纹理对图像进行分类1(实现了数据的提取,接下来利用数据套用分类模型即可)

根据图像纹理对图像进行分类1文章目录根据图像纹理对图像进行分类1前言CODE总结前言我的前面两个博客讲解了共生矩阵求解图像纹理特征的相关原理以及c++文件的读写操作和opencv的图片批量处理,有什么不懂的可以看前面的两个博客,见: https://blog.csdn.net/qq_48176859/article/details/110118717和https://blog.csdn.net/qq_48176859/article/details/110050055。下面上代码。CODE

2020-11-25 21:32:39 1433 1

原创 C++文件读写

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2020-11-25 16:49:20 2044

原创 图像特征计算——纹理特征

文章目录一、什么是纹理特征二、灰度共生矩阵1.空间灰度共生矩阵2.代码实现3.利用纹理特征实现图片分类熵一、什么是纹理特征纹理特征是从图像中计算出来的一个值,对区域内部灰度级变化的特征进行量化。不是基于像素点的特征,需要在包含多个像素点的区域中进行统计计算。具有旋转不变性,且对噪声有较强的抵抗能力。当图像分辨率变化的时候,计算出来的纹理可能会有较大偏差。适用于检索具有粗细、疏密等方面较大差别的纹理图像。一般纹理特征有两种表示方法:(1)共生矩阵;(2)Tamura纹理特征:二、灰度共.

2020-11-24 19:41:52 8286 5

原创 opencv4中未定义标识符CV_BGR2GRAY和CV_CAP_PROP_FRAME_COUNT问题

前言昨天用opencv4写一个运动目标检测的程序时,发现在图片转为灰度图像以及在视频读取的的时候总是报错。我用的IDE是VS2019,opencv的版本是4.4,下面介绍这两种报错的解决方法,希望能够帮助到你。CV_BGR2GRAY这个较为简单,直接添加头文件#include <opencv2\imgproc\types_c.h>之后,就可以顺利解决。CV_CAP_PROP_FRAME_COUNT由于opencv的版本迭代太快了,我用的很多资料都是opencv3的,因此在学习的时候

2020-11-17 09:55:30 6116 1

原创 C++树学习笔记

C++树学习笔记文章目录C++树学习笔记前言一、树的定义和树模型二、二叉树1.引入库2.读入数据总结前言对于大量的输入数据,链表的线性访问时间太长,不宜使用。对此我们定义一种新的数据结构——树,其大部分操作的运行时间平均为O(log N)。一、树的定义和树模型一颗树是一些节点的集合,这个集合可以是空集,若不是空集,则树由称作根(root)的结点r以及零个或者多个非空的(子)树T1,T2…,Tk组成,这些子树中每一棵的根都被来自r的一条有向的边所连接。每一棵子树的根叫做根r的儿子,而r是每一个

2020-11-16 19:57:47 276

原创 C++队列学习笔记

C++队列学习笔记文章目录C++队列学习笔记一、什么是队列?队列与栈有什么区别和联系二、队列实现1.queue的常见函数2.简单代码实现(略)3.实战训练(Leetcode题目练习)总结一、什么是队列?队列与栈有什么区别和联系像栈一样,队列(queue)也是表。但是与栈后进先出(LIFO)原则不同的是,队列是先进先出(FIFO),队列的基本操作是enqueue(入队),它在表的末端(称为队尾)插入一个元素;dequeue(出队),它是删除(并返回)表的开头(叫做队头)的元素。下图所示一个抽象的队

2020-11-14 21:12:53 248

原创 C++栈学习笔记

C++栈介绍文章目录C++栈介绍一、栈模型二、栈使用1.常见的函数接口2.代码实现1)简单程序2)进阶程序(leetcode实战训练)总结提示:相关内容参考自《数据结构与算法分析c++描述》此书。(ps:书图书馆随便借来参阅的无任何种草含义)一、栈模型栈(stack)是限制插入和删除操作只能在一个位置上进行的表,该位置是表的末端,称为栈的顶。对栈的基本操作是push(进栈)和pop(出栈),前者相当于插入,后者则是删除最后插入的元素。栈有时候又被称之为LIFO(先进先出)表,且由于栈是一个表

2020-11-13 18:08:24 128

原创 c++链表学习

C++链表学习前言创建简单的链表合并两个有序链表总结前言最近在学习C++算法与数据结构,利用csdn写一些笔记帮助自己记忆,同时也希望对你们有用。创建简单的链表代码如下(示例):struct ListNode { int val; ListNode* next; ListNode(int value, ListNode* next1 = nullptr) //构造函数 { val = value; next = next1; }};根据上述代码我们自己定义了一个构造

2020-11-12 17:02:56 166

空空如也

空空如也

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

TA关注的人

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