- 博客(36)
- 收藏
- 关注
原创 OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program.
【代码】OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program.
2024-05-02 12:57:56 127
原创 Git 日常使用
Git提交本地代码先去 gitee 新建仓库, 添加一个README使其有master分支在本地里Git版本回退Git添加第三方库Git新建分支分支内容 强烈推荐知乎
2022-12-03 20:46:35 233 1
原创 STM32 出现SWD/JTAG Communication Failure
出现SWD/JTAG Communication Failure这个问题的原因就是你板子的SW被复用了,SW被复用的原因就是你配置了CubeMX中跟他相关的引脚。
2022-11-29 16:49:45 16074 32
原创 七、【stm32】DMA读取ADC 以11届省赛为例
Mode ADC_Mode_Independent 这里设置为独立模式------独立模式模式下,双ADC不能同步,每个ADC接口独立工作。Continuous Conversion Mode(连续转换模式) ENABLE-------设置为ENABLE,即连续转换。Scan Conversion Mode( 扫描模式 ) : DISABLE-------如果只是用了一个通道的话,DISABLE就可以了(也只能DISABLE),如果使用了多个通道的话,会自动设置为ENABLE。
2022-11-20 22:45:42 518
原创 五、【stm32】PWM的使用 以蓝桥杯13届省赛为例
Output compare preload(输出比较预加载):Enable(使能) 作用和 auto-reload preload 类似。auto-reload preload(自动重装载):Enable(不使能)//使能不使能在这不影响工作。题目要求:确认购买信息后,5秒内输出频率为2khz,占空比为30%的脉冲信号,其余时间为5%。Fast Mode(脉冲快速模式):Disable(不使能) 与我们配置无关不使能。Counter Mode(计数模式):Up(向上计数模式)
2022-11-20 21:23:26 506
原创 四、【stm32】串口--以蓝桥杯13届省赛为例
/ 是否接受完毕标志,若为一则接收完毕。按照题目要求定义接受和发送字符长度:(usart.h)首先打开CubeMX,配置箭头处引脚。会看到串口初始化了。逻辑部分busi.c。
2022-11-20 21:01:01 465
原创 三、【stm32】LCD的使用
关于LCD的使用很简单,在使用时,你只需将lcd.c和lcd.h拷贝到你的项目里面。然后在主函数编写相应程序即可。-- 设置前景色为白色。-- 设置背景色为蓝色。-- 清屏操作,清屏为蓝色。
2022-11-20 20:27:56 2773
转载 HAL库常用函数
/这个函数是外部中断服务函数,用来响应外部中断的触发,函数实体里面有两个功能,1是清除中断标记位,2是调用下面要介绍的回调函数。例:HAL_GPIO_WritePin(GPIOF, GPIO_PIN_9,GPIO_PIN_RESET)例:pin_State = HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_9);例:HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);例:HAL_GPIO_EXTI_Callback(GPIO_Pin);
2022-11-20 19:18:10 583
原创 HAL库是什么?
通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的。一般大多数都会选用标准库和HAL库,而极少部分人会通过直接配置寄存器进行开发。网上关于标准库、HAL库的描述相信是数不胜数。可是一个对于很多刚入门的朋友还是没法很直观的去真正了解这些不同开发发方式彼此之间的区别,所以笔者想以一种非常直白的方式,用自己的理解去将这些东西表述出来,如果有描述的不对的地方或者是不同意见的也可以大家提出。
2022-11-20 10:43:17 2567 2
原创 ccf 201409 二、窗口
图中,一共有15个单位的面积被涂上颜色,其中紫色部分被涂了两次,但在计算面积时只计算一次。在实际的涂色过程中,所有的矩形都涂成统一的颜色,图。在一个定义了直角坐标系的纸上,画一个(x1,y1)到(x2,y2)的矩形指将横坐标范围从x1到x2,纵坐标范围从y1到y2之间的区域涂上颜色。接下来n行,每行4个非负整数,分别表示要画的矩形的左下角的横坐标与纵坐标,以及右上角的横坐标与纵坐标。给出所有要画的矩形,请问总共有多少个单位的面积被涂上颜色。输入的第一行包含一个整数n,表示要画的矩形的个数。
2022-10-22 21:02:49 115
原创 ccf 201409 一、相邻数对
值正好相差1的数对包括(2, 3), (6, 7), (7, 8)。给定n个不同的整数,问这些数中有多少对整数,它们的值正好相差1。1
2022-10-16 20:54:20 180
原创 ccf 2014 03 二、窗口
每行包含四个非负整数 x1, y1, x2, y2,表示该窗口的一对顶点坐标分别为 (x1, y1) 和 (x2, y2)。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。如果该次鼠标点击选择了一个窗口,则输出这个窗口的编号(窗口按照输入中的顺序从 1 编号到 N);当你点击屏幕上一个点的时候,你就选择了处于被点击位置的最顶层窗口,并且这个窗口就会被移到所有窗口的最顶层,而剩余的窗口的层次顺序不变。如果你点击的位置不属于任何窗口,则系统会忽略你这次点击。
2022-10-15 13:03:41 117
原创 ccf2013 二 ISBN号码
每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。输出一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。
2022-10-13 16:47:55 94
原创 2013-1 出现次数最多的数
输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。// 给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。// 输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。// 输出这n个次数中出现次数最多的数。如果这样的数有多个,输出其中最小的一个。题目比较简单直接代码吧!
2022-10-13 16:45:16 88
原创 WSL中配置qdu-rm-ai
一、安装WSL安装Windows Terminal(可选,推荐)打开Microsoft Store搜索terminal并安装1. 管理员权限运行powershell并运行下面的命令:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux或者:控制面板->程序和功能->启用或关闭Windows功能->勾选 适用于Linux的Windows子系统2.重启电脑3. 打
2021-09-08 11:00:53 253
原创 C/C++ 的编译过程
1. 主要步骤( test.c main.c ) --1--> (test.i main.i) --2--> (test.s main.s) --3--> (test.o main.o) --4--> (a.out)1 预处理,展开头文件/宏替换/条件编译2 编译,检查语法,生成汇编3 汇编,汇编代码转换成机器码4 链接,链接到一起生成可执行文件2.编译流程3.预处理C语言中"#"作用是作为预处理命令,在编译器进行编译之前对源码做某些转换
2021-08-30 09:20:48 291
原创 C++中的auto、auto const&
C++中的auto 、auto const &(1)auto auto即 for(auto x:range) 这样会拷贝一份range元素,而不会改变range中元素; 但是,使用for(auto x:vector<bool>)时得到一个proxy class,操作时会改变vector<bool>本身元素。应用:for(bool x:vector<bool>)(2)auto& 当需要修改range中元素,用for(auto&a
2021-08-20 15:28:01 654
原创 Linux系统目录结构
/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。 /etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目..
2021-08-14 09:55:18 116
原创 Linux部分常用指令
常用:ls(英文全拼:list files): 列出目录及文件名 cd(英文全拼:change directory):切换目录 pwd(英文全拼:print work directory):显示目前的目录 mkdir(英文全拼:make directory):创建一个新的目录 rmdir(英文全拼:remove directory):删除一个空的目录 cp(英文全拼:copy file): 复制文件或目录 rm(英文全拼:remove): 删除文件或目录 mv(英文全拼:move file
2021-08-14 09:52:48 67
原创 从图像中提取特定颜色区域。
作业:利用 OpenCV 实现:分别找出 images 中 3 张图片里的蓝色指示牌和绿色指示牌,并将它们 写入到 green、blue 两个文件夹中。 要求:1. 用矩形框出指示牌 2. 写入的指示牌需要尽量拉正运行结果如下图:思路:1、转化成HSV,找出相应颜色对应的范围,用inRange函数提取出来。2、找出相应轮廓并将轮廓画出。3、用最小外接矩形,找出要提取的矩阵。4、将找出矩形的四个顶点按照顺时针顺序排除。5、运用三点法的仿射变换,找出变化前.
2021-07-23 15:07:37 5301 11
原创 用鼠标获取图片上某一点的HSV值
#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;#define WINDOW_NAME "【效果图窗口】" //为窗口标题定义的宏void pickHighLightFire(Mat& inputFrame, Mat& outputFrame);void on_MouseHandle(int event, in...
2021-07-20 23:48:08 545 2
原创 八、透视变换
解决问题的思路:就是找四个点的坐标完成透视变换。两个主要的函数:getPerspectiveTransform( InputArray src, InputArray dst );//获取透视变换矩阵warpPerspective( InputArray src, OutputArray dst,InputArray M, Size dsize,int flags = INTER_LINEAR,int borderMode = BORDER_CONSTANT, const Scala...
2021-07-17 15:25:01 446
原创 九、相机标定和角点检测
(一)接下来会用到的几个函数:1、归一化:normalize 函数介绍void normalize(InputArray src,OutputArraydst, double alpha = 1, double beta = 0, intnorm_type = NORM_L2, int dtype = -1, InputArray mask = noArray() )该函数归一化输入数组使它的范数或者数值范围在一定的范围内。src: 输入数组dst:输出数组,支持原地运算a..
2021-07-15 19:22:46 783
原创 七、简单绘图函数
1、直线函数:void line(Mat& img, Point pt1, Point pt2, const Scalar& color, int thickness=1, int lineType=8, int shift=0)参数介绍:1.img: 要绘制线段的图像。2.pt1: 线段的起点。3.pt2: 线段的终点。4.color: 线段的颜色,通过一个Scalar对象定义。5.thickness: 线条的宽度。6.lineType: 线段的类型。可以取值8,4
2021-07-15 16:18:29 502 2
原创 六、仿射变换
空间变换中的仿射变换对应着五种变换,平移,缩放,旋转,翻转,错切。而这五种变化由原图像转变到变换图像的过程,可以用仿射变换矩阵进行描述。而这个变换过程可以用一个2*3的矩阵与原图进行相乘得到。opencv通过两个函数的组合使用来实现仿射变换:一、获得仿射映射矩阵。这也有两种方法:1、三点法:getAffineTransform Mat img=getAffineTransform(const Point2f* src, const Point2f* dst)参数介...
2021-07-14 22:28:03 1499
原创 五、平滑处理与轮廓提取
(一)平滑处理1、高斯滤波器(个人感觉是最有用的)函数:GaussianBlur(InputArraysrc, OutputArraydst, Sizeksize, doubleX, doubleY=0, intborderType=BORDER_DEFAULT)src– 输入图片 dst–输出图片 ksize– 高斯内核大小。ksize.width和ksize.height允许不相同但他们必须是正奇数。或者等于0,由参数sigma的乘机决定。 X...
2021-07-13 20:45:21 1228
原创 四、形态学处理(膨胀,腐蚀,开闭运算)
膨胀与腐蚀能实现的功能:消除噪声、分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素、寻找图像中的明显的极大值区域或极小值区域、求出图像的梯度。注意:腐蚀和膨胀是对白色部分(高亮部分)而言的。膨胀是图像中的高亮部分进行膨胀,效果图拥有比原图更大的高亮区域。腐蚀就是原图中的高亮部分被腐蚀,效果图拥有比原图更小的高亮区域。1、膨胀——dilate函数函数原型:void dilate( InputArray src, OutputArray dst, InputArray
2021-07-13 18:03:19 827
原创 三、几何学处理(缩放,拼接,裁剪)
1、图像的缩放函数原型:resize( InputArray src, OutputArray dst, Size dsize, double fx = 0, double fy = 0,int interpolation = INTER_LINEAR );其中:第一个参数src :输入的图像。第二个参数 dst: 输出的图像, dst的类型和src的类型一样。dst的大小又第3个或第四第五个参数决定。第三个参数 dsize :目标图像的大小。第四个参数 fx :在x轴上缩放比..
2021-07-13 15:34:11 248 1
原创 二、C++ opencv 色彩学处理(灰度处理,色域处理,阈值处理,颜色通道)
1、灰度处理,很简单直接代码。#include <opencv2/opencv.hpp>#include <iostream>int main(int argc, char const* argv[]){ cv::Mat img = cv::imread("D://RM//练习//灰度处理//opencv-logo.png", cv::IMREAD_GRAYSCALE); cv::imshow("hello", img); cv::waitKey
2021-07-12 17:40:30 2051 1
原创 一、opencv c++1)图像,视频的读取与保存
一、图像相关的操作1、图像的读取原函数:Mat imread( const String& filename, int flags = IMREAD_COLOR );说明:filename参数为图像文件的路径一定要注意你的图片的名称不要搞错,刚开始的时候图片名由于是英文的搞了好长时间才发现是图片名称打错了;flags参数为图像文件解析的方式,支持的方式有如下:IMREAD_UNCHANGED:不对图像文件进行任何转换,直接读取;IMREAD_GRAYSCALE:将图像转换为灰度图像
2021-07-11 17:07:37 1245
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人