自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

罗伊的博客

生活且长,学习解忧。

  • 博客(86)
  • 资源 (12)
  • 收藏
  • 关注

原创 static和inline配合修饰函数

1.预先了解的知识1.1 staticstatic关键字用途太多,以致于让新手模糊。不过,总结起来就有两种作用,改变生命期和限制作用域。如:修饰inline函数:限制作用域static和inline配合修饰函数修饰普通函数:限制作用域用static修饰的函数,本限定在本源码文件中,不能被本源码文件以外的代码文件调用,隐藏的作用修饰局部变量:改变生命期把局部变量改变为静态变量后是改变了它的存储方式,即改变了它的生存期。共有两种变量存储在静态存储区:全局变量和 static 变量,

2022-05-09 18:19:40 1897

原创 FreeRTOS简要学习理解

1.主要内容与学习目的1.1 内容栈作用演示创建任务的2个核心:栈、任务结构体任务调度机制基于链表理解调度机制队列的使用基于链表理解队列1.2 学习目的中度掌握——知道内部机制1.3 RTOS与裸机程序的区别核心在于:任务的交替执行1.4 后续例程所使用文件备用:并无高端技巧,该文件在STM32F103上搭建好环境方便测试而已。下载链接2.概念理解任务: 本质就是一个运行起来的函数,包含信息有:一段保存在flash上的代码(无法更改)、任务运行的位置、任务运行的环境(各

2022-05-07 17:40:54 1030 1

原创 ARM处理器程序运行的过程|ARM架构简单介绍(寄存器组|RISC与CISC)

一、ARM处理器程序运行的过程ARM芯片属于精简指令集计算机(RISC:Reduced Instruction Set Computing),它所用的指令比较简单,有如下特点:① 对内存只有读、写指令② 对于数据的运算是在CPU内部实现③ 使用RISC指令的CPU复杂度小一点,易于设计比如对于a=a+b这样的算式,需要经过下面4个步骤才可以实现:在这里插入图片描述CPU运行时,先去取得指令,再执行指令:① 把内存a的值读入CPU寄存器R0② 把内存b的值读入CPU寄存器R1③ 把R0、

2022-04-24 09:52:47 2583

原创 程序读取txt文件(C++)识别图片语法进行修改

1.目的有这样一篇Word文档我需要转为Markdown语法的格式,乍眼一看,214页,5W多字,有点累,想到了代码实现该问题,但是重复造轮子太麻烦了,我的具体操作步骤如下:提出如下需求:修改图片名按照一级标题拆分文档,创建多个文档2.使用Writage工具将文档转为Markdown格式步骤较为简单,安装后另存为Markdown即可,具体步骤查看该链接借助Writage,将 Word 转换为 Markdown3.存在问题3.1 图片格式问题3.1.1 矢量图作者当时在Word上

2022-04-14 18:14:48 1420

原创 windows11系统中使用VMware蓝屏报错:终止代码:SYSTEM_SERVICE_EXCEPTION

windows11系统中使用VMware蓝屏报错:终止代码:SYSTEM_SERVICE_EXCEPTION

2021-12-27 20:16:10 44804 13

原创 (最终)如何利用印象笔记搭建自己的知识体系

1、 为什么要记录笔记这个问题我印象中探讨过很多次,但是简单来讲就是方便日后在遇到相似问题时查询解决方式,并在记录笔记的过程汇总中对知识进行一轮新的复习。这样一生,如果作为一个技术人员来讲的话,我不可能只学习一门技能,需要学习的东西很多。当只会一门技能时,做不做笔记其实无所谓,但是当你学会多种技能时,你需要笔记这样一个第二大脑来帮助存储那些琐碎并不通用的知识,你自己的大脑来记忆通用性的知识,可以迁移的方法。在遇到问题时,知道做什么永远比怎么做更重要。1.1 知识的分类1.1.1 元认知解释:能指导

2021-11-30 18:13:29 995 2

原创 (C++)理解 i++与++i

题目:要求获得50到100的累加结果1.想一下以下几种代码有什么区别,并分析错误原因1.1 第一种(正确):在while语句的statement中使用递增运算符 int sum = 0, val = 50; while (val <= 100){ sum += val; val++; //++val; } std::cout << "50到100总和:" << sum << std::endl;结果:50到100总和:3825

2021-08-31 20:49:45 304 1

原创 proteus8 Professional和keil4联调流水灯程序

一、软件准备(软件安装教程请自行百度安装教程,本文不做叙述)1. 下载安装keil42. 下载安装Proteus8 Professional3. 下载安装vdmagdi.exe链接:https://pan.baidu.com/s/1zfgLAS9gAKT8v2OeISaEKg提取码:zd17二、proteus设置1.打开isis界面在调试窗口选择“启动远程编译调试”2.此处以流水灯程序为例,先绘制如下的电路图三、KEilC51设置1.创建.a后缀的汇编代码或者创建.c后缀的C语言代

2020-12-02 22:17:48 5089

原创 ANSYS_APDL中移动模型

1.旋转模型Ctrl+鼠标右键2.平移模型Ctrl+鼠标左键3.缩放模型Ctrl+鼠标中键前段时间多使用NX之类的软件,这里的操作稍微有点不一样,记录下

2020-10-29 19:19:12 5376

原创 ANSYS_APDL在绘制 vonMises(等效)应力云图报错:The requested data S is not available.The PLES command is ignored.

一、错误截图其他之前的步骤都没有任何问题,只是绘制 vonMises(等效)应力云图的情况下,大概率是这种问题。二、错误原因安装的时候Mechanical APDL Product Launcher中默认选择了Use Distributed Computing(DMP)三、解决方案1.打开Mechanical APDL Product Launcher2.将DMP改为SMP3.重新运行程序生成即可没问题,可以正常生成。...

2020-10-29 19:14:59 12562 7

原创 树莓派4B学习(1)opencv4.1.0的配置

树莓派4B学习(1)opencv4.1.0的配置这些天帮朋友使用树莓派做一个寻迹的机器狗,所以在此立贴记录下自己的步骤,一方面方便之后回归,另一方面希望对大家有所帮助。文章目录树莓派4B学习(1)opencv4.1.0的配置前言一、树莓派上扩展文件系统二、更改下载源1.更改软件更新源(1)编辑/etc/apt/sources.list 文件(这是软件更新源)(2)在原来文本前加#进行注释,别删除,指不定用到(3)保存文件2. 更改系统更新源(1)编辑/etc/apt/sources.list.d/r

2020-08-29 16:25:03 4702 6

原创 4.mnist数据集分类(caffe手写数字识别)

由于我使用了Github图库,你可能会遇到我图片无法显示的问题,建议开启VPN查看本文章1.目的(1)caffe实现手写数字识别(2)验证caffe是否安装成功2.下载手写体数字识别数据集(1)下载链接: http://yann.lecun.com/exdb/mnist/(2)准备+存放位置(推荐,你也可以自己选择)如果你是之前的步骤就跟着我一起弄的话,接下来的步骤就会轻松很多打开G:\caffe\caffe-windows\examples\mnist文件夹caffe-w.

2020-05-13 12:56:24 1890

原创 3.caffe在windows下编译

本来想使用VS2019编译的,但是找了很多种方法,总是出现莫名问题,无奈换成了VS2015,如有看到的朋友有较好的方法,可以评论下,谢谢本次使用VS2015+WIN10编译caffeGPU版本1. caffe源码下载官网链接:https://github.com/BVLC/caffe/tree/windows2. VS2015下载并安装链接:https://pan.baidu.com/s/1uACPyI7vBa8SiwpUG0w4QA提取码:08st3. Cmake3.4以上版本下载并安装.

2020-05-12 08:32:49 1994 4

原创 1. 数据结构

1.知识体系2.数组、字符串(Array & String)(1)字符串转化​ 数组和字符串是最基本的数据结构,在很多编程语言中都有着十分相似的性质,而围绕着它们的算法面试题也是最多的。​ 很多时候,在分析字符串相关面试题的过程中,我们往往要针对字符串当中的每一个字符进行处理,甚至有时候我们得先把给定的字符串转换成字符数组之后再进行分析和处理。举例:翻转字符串“algorithm”解法:用两个指针,一个指向字符串的第一个字符 a,一个指向它的最后一个字符 m,然后互相交换

2020-05-12 01:57:00 1362

原创 2.anaconda2与3同时安装

1. 先安装Anaconda2.7官方网站:https://www.anaconda.com/download/安装的时候,为本用户安装就好了,好管理Advanced Options 了,所谓的“高级选项”。第一次安装的时候两个都勾选就好,第一个是加入环境变量,第二个是默认使用 Python 2.7,点击“Install”,终于开始安装等待安装完成finish即可参考链接:win10+anaconda(python2.7)Anaconda详细安装及使用教程2.查阅以下教程同时安装An

2020-05-12 01:46:41 1479

原创 1.pycharm双环境安装

对于python/anaconda/pycharm安装的种种疑惑请认真查下本视频,很基础,很有用!https://www.bilibili.com/video/BV1K7411c7EL?p=1以下内容是纯净版python的双环境配置,下列配置可以正常运行,但是可能会导致一些问题,推荐使用Anaconda配合pycharm使用1. 下载python版本官网链接:https://www.python.org/downloads/windows/此时我们下载python3.7.1和python2.7.

2020-05-12 01:44:27 1967

原创 Qt5.14已配置完环境变量,但仍然显示无法定位程序输入点_ZdaPvj/_gxx_personality_v0于动态链接库的问题解决

1.错误截图2.出现情况已经配置好Qt5.14的环境变量,但是双击exe文件出现上诉情况3.解决方案打开环境变量设置,将所需要设置的Qt环境变量移动到Strawberry环境变量上面就可以了我的是这样的:(Strawberry是安装QT时Strawberry Perl组件,环境变量自动配置的)...

2020-04-13 23:55:29 1422 5

原创 30.凸包(Convex Hull)

1.主要内容概念介绍API说明代码演示2.概念介绍什么是凸包(Convex Hull),在一个多变形边缘或者内部任意两个点的连线都包含在多边形边界或者内部。正式定义:包含点集合S中所有点的最小凸多边形称为凸包检测算法- Graham扫描法(较常用的一个算法)3.Graham扫描法介绍首先选择Y方向最低的点作为起始点p0从p0开始极坐标扫描,依次添加p1….pn(排...

2020-04-10 01:24:32 861 2

原创 29.轮廓发现

1.轮廓发现(find contour in your image)轮廓发现(find contour)代码演示2.介绍轮廓发现是基于图像边缘提取的基础寻找对象轮廓的方法,所以边缘提取的阈值选定会影响最终轮廓发现结果3.API介绍在二值图像上发现轮廓使用APIcv::findContours(InputOutputArray binImg, // 输入图像,非0的像素被...

2020-04-10 01:20:25 219 1

原创 28.模板匹配

1.模板匹配(Template Match)模板匹配介绍相关API演示代码演示2.模板匹配介绍模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。所以模板匹配首先需要一个模板图像T(给定的子 图像)另外需要一个待检测的图像-源图像S工作方法,在带检测图像上,从左到右,从上向下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大。3.模板匹配介绍——...

2020-04-10 01:16:59 333 1

原创 27.直方图反向投影(Back Projection)

1.主要内容反向投影相关步骤和相关API代码演示2.什么叫反向投影(此处注意理解图像的数据特征)反向投影是反映直方图模型在目标图像中的分布情况简单的讲,就是用直方图模型去目标图像中寻找是否有相似的对象。通常用HSV色彩空间的HS两个通道直方图模型。3.反向投影的举例以及步骤(1)直方图模型建立(2)待检测对象(3)反向投影对象反向投影步骤:1.建立直方图模型...

2020-04-10 01:08:45 482

原创 26.直方图比较

1.主要内容直方图比较方法相关API代码演示2.直方图比较方法——概述对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间,然后可以通过计算H1与H2的之间的距离得到两个直方图的相似程度进而比较图像本身的相似程度。Opencv提供的比较方法有四种:Correlation 相关性比较Chi-Square 卡方比较Intersection 十字交叉性Bhattach...

2020-04-10 01:03:00 695

原创 25.直方图计算

1.主要内容直方图概念API学习代码演示2.直方图概念基本介绍假设有图像数据8x8,像素值范围0~14共15个灰度等级,统计得到各个等级出现次数及直方图如下图所示,每个紫色的长条叫BIN(值的范围大小)。将bins划分为16个等级,每个等级有16位上述直方图概念是基于图像像素值,其实对图像梯度、每个像素的角度、等一切图像的属性值,我们都可以建立直方图。这个才是直...

2020-04-10 00:55:04 3322

原创 24.直方图均衡化

1.主要内容什么是直方图(Historgram)直方图均衡化API说明2.什么是直方图举例假设有图像数据8x8,像素值范围0~14共15个灰度等级,统计得到各个等级出现次数及直方图如下图所示由个像素值出现的数字得出下列的直方图图像直方图,是指对整个图像在灰度范围内的像素值(0-255)统计频率次数,据此生成的直方图,称为图像直方图-直方图。直方图反映了图像灰度的分布情况。...

2020-04-10 00:50:21 403

原创 23.像素重映射

1.主要内容像素重映射的介绍API介绍代码演示2.像素重映射的介绍简单点说就是把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去,形成一张新的图像。g(x,y)是重映射之后的图像,h(x,y)是功能函数,f是源图像假设有映射函数3.API介绍cv::remapRemap(InputArray src,// 输入图像,需要单通道8位或者浮点类型的图...

2020-04-10 00:45:55 273

原创 22.霍夫圆变换

1.主要内容霍夫圆检测原理相关API代码演示2.霍夫圆检测原理从平面坐标到极坐标转换三个参数C(x0,y0,r),其中x0.y0是圆心。假设平面坐标的任意一个圆上的点,转换到极坐标中,C(x0,y0,r)处有最大值,霍夫变换正是利用这个原理实现圆的检测因为霍夫圆检测对噪声比较敏感,所以首先要对图像做中值滤波(去椒盐噪声)基于效率考虑,opencv中实现的霍夫变换圆检测是基于图...

2020-04-10 00:40:11 510

原创 21.霍夫变换——直线检测

1.主要内容霍夫直线变换介绍相关API学习2.霍夫直线变换介绍Hough Line Transform用来做直线变换前提条件——边缘检测以及完成平面空间到极坐标空间转换通过霍夫变换我们可以进行一个规则的几何形状的检测,其原理是通过极坐标变化将直角坐标各个点转换到极坐标空间中,形成一条一条的曲线,图像中曲线交点所在的位置,我们认为是同一个直线上的点,然后我们在通...

2020-04-10 00:08:41 653

原创 20.Canny边缘检测

1.主要内容Canny算法介绍API cv::Canny()clone和copyto的区别,详见链接,注意copyto的掩码图图像的取反2.Canny算法介绍Canny是边缘检测算法,于1986年提出是一个很好的边缘检测器是常用也很实用的图像处理方法其算法步骤如下:高斯模糊——GaussianBlur() //降噪声灰度转换——cvtCol...

2020-04-09 23:59:17 452

原创 19.Laplance算子

1. 主要内容laplance算子理论——二阶导数获得图像边缘API讲解2. laplance算子理论(1) 基本理论解释:在二阶导数的时候,最大变化处的值为0即边缘值是0,通过二阶导数计算,依据理论我们可以计算图像的二阶导数来提取边缘。(2) laplance算子不会计算二阶导数?使用拉普拉斯算子(Laplance operator)opencv提供了相应的API—...

2020-04-09 23:45:16 410

原创 5-5.条件语句switch

switch的基本语法和规则一般采用switch语句用来简化if语句格式:switch (expression){ case constant: statemens break; default: break;}规则: expression分别与constant匹配,从上到下,匹配成功执行stateme...

2020-04-09 23:16:08 310

原创 5-4. 问号(?)操作符

问号(?)操作符是条件语句的简写形式,这是一个三元操作符、(condition)?value1:value2如果condition为真,那么取value1值,如果condition为假,那么取value2值举例1(将任意的条件语句转换到?的形式) int m = 3; int n = 6; string s; /* s = (m < n) ? "Hellow" : ...

2020-04-09 23:15:43 564

原创 5-3. 处理字符的函数集:cctype

首先我们需要引用ccttype的头文件#include<cctype>头文件中的函数isalnum() 如果参数是字母数字,即字母或数字,该函数返回true isalpha() 如果参数是字母,该函数返回true isblank() 如果参数是空格或水平制表符,该函数返回true iscntrl() 如果参数是控制字符,该函数返回true isdigit() 如...

2020-04-09 23:15:06 214

原创 5-2. 逻辑表达式和短路问题

与:&&(左右两个表达式均为真才表示真)或:||(左右两个表达式至少一个为真才表示真)非:!(相当于取反,对真做非运算为假,对假做非运算为真)int m = 20; int n = 30; if (m == 20 && n == 30) { cout << "m == 10 , n == 30" &l...

2020-04-09 23:14:39 526

原创 5-1.条件语句if和do...while(0)形式的宏

if格式:if(test_condition){ statement;//若条件为真则执行下列语句}注意:C++中if条件语句的test_condition语句不一定是bool类型,所以有时候由于粗心会出现这样的问题,此时编辑器不报错,条件被永远判断为真 int i = 100; if(i=10) { cout << i << e...

2020-04-09 23:13:55 1363 1

原创 避免为了笔记而记笔记

视频课程笔记与看课程应当同时进行,记录笔记方便快速回顾,有不懂及时温习。书本记录笔记是为了巩固自己的知识,形成知识体系,所以应当在看完书之后再记录笔记,在笔记中引用多种知识来助于自己形成思维体系。如果只是为了加强记忆不建议记录笔记,没用,拿一张草稿纸随意记录即可,反正你不会回去看的。综上,避免为了记笔记而记笔记,知识过了手而没有过脑。...

2020-04-08 12:47:06 402 4

原创 4-8.goto语句与深层循环

goto语句作用跳出深层循环(嵌套的循环)实现循环(与汇编的实现方式类似)跳出深层循环实现#include<iostream>using namespace std;int main(int argc, char* argv[]){ //为了理解goto语句,我们解决下面一个问题为例 /* 一个数列: 1 2 3 4 5 6 7 8...

2020-04-07 00:21:29 1159 2

原创 4-7.自增(++)、自减(--)和组合赋值操作符(+=、-=)

自增和自减只能用在整数的变量中前自增:++a,在将a用在表达式之前先自加后自增:a++,在将a用在表达式之后再自加前自减:–a后自减:a–自加自减无论前后意义都是+1或者-1,单独使用没有任何区别。区别主要在于表达式中。#include<iostream>using namespace std;int main(int argc, char* ar...

2020-04-07 00:19:54 317 3

原创 4-6.循环退出(break)与继续(continue)

break:终止当前的循环语句continue:忽略本次的循环,继续下一次循环#include<iostream>using namespace std;int main(int argc, char* argv[]){ /*************************break*************************/ for (int i = 0;...

2020-04-07 00:18:05 421

原创 4-5. do...while循环

do…while与while循环最明显的区别do…while:先执行后判断条件while:先判断条件后执行#include<iostream>using namespace std;int main(int argc, char* argv[]){ //while(test_condition) body //do body while(test_cond...

2020-04-06 13:25:26 248 3

原创 4-4. while循环

格式:statement1while(test-expr) statement2statement3举例:执行顺序

2020-04-06 13:21:34 489

freeRTOS练习程序

freeRTOS练习程序

2022-05-07

C++读取TXT文件识别特定内容修改

由于近期需要将一份Word文档转到Markdown格式,但是文件内容较大,自动转换工具转换不能完全满足我的要求,存在问题如下:导出的图片名乱码,一部分换行存在问题。 针对图片名乱码的问题,由于word中的图片拥有一定的顺序,所以根据该顺序对导出的md文件中图片语法识别进行更换合适的文件名。 其次,由于我需要将该文件根据章节进行拆分,这部分的内容程序也已经完成, 程序中实现了UTF-8格式转GBK格式,使用stream对TXT进行读取并识别,获取到需要的信息后对信息进行更改,最后依据一级标题对文件进行拆分。

2022-04-14

Proteus8.0专业版ISIS的使用教程.pdf

proteus8的仿真创建教程,资料还是挺详细的,适合像我这样的新生入门,这里上传是为了配合博客的帖子。

2020-12-02

调用摄像头红色区域提取可执行文件.7z

要在装有WIN10系统的lattepanda上面运行我的程序,但是上面安装opencv的环境和vs2017又比较麻烦,所以直接把程序合并为一个exe文件,可以在任意电脑上调用摄像头来进行红色区域的提取与中心点坐标的发送 双击打开即可 需要源码可以联系QQ122843641

2019-08-19

Setup.ForcedUninstall.exe

使用该工具可以彻底的卸载Visual Stdio系列的各种软件,如果你的VS安装或者卸载出现了问题,可以尝试该软件进行解决,尤其是系统还原后找不到卸载工具的伙伴们

2019-08-17

putty远程工具.zip

这是一款可以通过Ip来控制LInux系统的远程工具,通过该软件可以在另一台电脑上通过命令行控制linux电脑

2019-08-17

【李宁】征服C++11(史上最权威C++视频教程).zip

学习李宁老师的C++课程时总结了一份老师的源代码,希望对大家有所帮助

2019-08-17

UGNX10.0建模篇素材.rar

学习UG10.0时使用了该素材,为了避免各位同僚辛苦寻找,在此上传

2019-08-17

视觉部规划.pptx11111111

之前对本部门开会时使用的这份PPT,使得大家对计算机视觉有一份系统的认识,同时对不久后的比赛进行一次赛程规划。

2019-08-17

opencv3_学习笔记.pdf

上传自己学习opencv时寻找的opencv3的学习笔记,里面的内容很不错,与大家一起分享

2019-08-17

利用opencv视觉库空间抓取-空间移物.rar

利用opencv视觉库空间抓取-空间移物,C++代码,这个是利用opencv视觉库所作的空间截取指定图片的部分区域,造成一个被无形抓取了的现象

2019-08-17

空空如也

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

TA关注的人

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