自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 致我那为数不多的粉丝

不搞AI了

2023-12-04 09:02:00 445

原创 【自用】HTML笔记

html快速入门笔记,自用

2023-04-09 17:15:42 647 1

原创 二叉树的层序遍历(C语言实现)

二叉树的层序遍历,用辅助队列实现。库存代码,好久以前写的了,发这个目的是防止丢失,万一以后需要还能捡起来。

2023-02-13 15:59:55 510

原创 Arduino Nano小车7种状态控制

arduino nano控制小车的前进、后退、左转、右转、加速、减速、停止。

2022-06-09 10:39:30 4411 2

原创 Arduino Uno接JQ8900-16p语音播报模块

Arduino Uno接JQ8900-16p语音播报模块

2022-06-05 16:13:49 10139 7

原创 Arduino使用NRF24L01模块进行无线通信

利用NRF模块实现了Arduino Uno 和 Arduino Nano之间的无线通信

2022-06-04 17:11:53 6790 4

原创 C51单片机串口点亮一个led

C51单片机串口点亮一个led因为最近要用到51的串口做一些通信,这里写一个点led的程序记录一下。说是一个led,其实可以随意多个。主要使用到的东西:STC89C52芯片,USB转TTL下载器,led灯若干,面包板,1K电阻,杜邦线.代码如下:#include<reg52.h>typedef unsigned int u16;typedef unsigned char u8;sbit led1 = P2^1;sbit led2 = P2^2;void UsartI

2022-04-15 15:36:39 3944

原创 NVIDIA TX2 设置开机自启动

NVIDIA TX2 设置开机自启动实验室的板子。记录一下设置开机自启动python脚本的过程。教程1.创建一个shell脚本touch start.sh # 新建一个shell脚本2.编辑这个shell脚本:gedit start.sh # 编辑shell脚本3.shell脚本里加入能启动python脚本的代码python3 /home/start.py # 运行指定目录下的python脚本4.修改shell脚本的权限sudo chmod 777 /home/start.s

2022-04-10 18:52:48 3169

原创 Python取出xml文件中的部分内容

Python取出xml文件中的部分内容前言​ 最近在搞目标检测方面的东西,由于遇到有个项目需要的标签格式为txt格式的,而我之前用labelimg工具标注生成的是xml格式的文件,由于懒,就想找个脚本自动提取出我想要的信息,但是并没有找到合适的,后来在参考了几位博主的文章后逐渐懂得如何取出我自己想要的内容。正文我的xml示例如下(我命名为1.xml):<annotation> <folder>poses</folder> <filename>1

2022-03-28 15:30:42 8774 11

原创 C51最小系统板红外遥控控制小车

C51最小系统板红外遥控控制小车一、前言​ 本文将实现用51的最小系统板以及一个红外遥控来控制小车的7种状态:前进、后退、左转、右转、加速、减速、停止。​ 本文重点不在于红外的原理解释,须事先知到红外遥控的键值。​ 本文重点:小车连线、PWM控制车速。​ 写这篇文章的目的:1.方便后面如果有需要的话自己回看;2.能给纯小白提供一点思路二、所需材料1.智能小车底板×12.直流电机×43.L298N电机驱动模块×14.51最小系统板(含STC89C52芯片)×15.红外遥控×16

2022-03-27 14:26:08 6584 13

原创 重学深度学习系列-- AlexNet猫狗分类(TensorFlow2)

重学深度学习系列-- AlexNet猫狗分类(TensorFlow2)文章目录重学深度学习系列-- AlexNet猫狗分类(TensorFlow2)一、我的环境二、工程结构三、AlexNet介绍3.1 主要贡献3.2 网络结构四、AlexNet的TensorFlow2代码实现五、训练5.1 开始训练5.2 适当调参优化5.3 设置动态的学习率六、调用图片进行预测image-20220301170230560参考资料一、我的环境​ windows10 + pycharm , TensorFlow2.3.

2022-03-01 17:42:40 1982

原创 重学深度学习系列-- CNN猫狗分类(TensorFlow2)

重学深度学习系列-- CNN猫狗分类(TensorFlow2)文章目录重学深度学习系列-- CNN猫狗分类(TensorFlow2)一、我的环境二、工程结构三、训练3.1 导入库3.2 导入数据集3.3 进行数据增强3.4 构建CNN模型3.5 输出网络的参数3.6 配置训练的参数3.7 开始训练3.8 将训练的结果可视化3.9 保存训练好的模型四、预测参考文献一、我的环境​ windows10 + pycharm , TensorFlow2.3.0二、工程结构train.py – 训练pre

2022-02-28 16:02:38 3014 3

原创 python给图片批量重命名

由于两个文件夹下的图片名字是一样的,但是我想让另一个文件夹接在一个文件夹之后重新命名,也就是从732.jpg开始递增命名。想到以后可能还会经常遇到这种情况,所以还是保存一下,以后就懒得再重新写了。'''图像批量重命名'''import osstart = 732 # 开始的序号image_dir = './output/' # 源图片路径images_list = os.listdir(image_dir)nums = len(os.listdir(image_dir))print

2022-02-18 19:59:05 2940

原创 Opencv-Python数据增强

Opencv-Python数据增强常见的数据增强操作有:按比例放大或缩小图片、旋转、平移、水平翻转、改变图像通道等。1.按比例放大和缩小​ 扩展缩放只是改变图像的尺寸大小。OpenCV 提供的函数 cv2.resize()可以实现这个功能。图像的尺寸可以自己手动设置,也可以指定缩放因子。可以选择使用不同的插值方法。在缩放时我们推荐使用 cv2.INTER_AREA,在扩展时我们推荐使用 v2.INTER_CUBIC(慢) 和 v2.INTER_LINEAR。默认情况下所有改变图像尺寸大小的操作使用的

2022-02-18 15:21:05 3765 1

原创 重学深度学习系列---LeNet5实现手写数字识别(TensorFlow2-mnist数据集)

重学深度学习系列—LeNet5实现手写数字识别(TensorFlow2-mnist数据集)文章目录重学深度学习系列---LeNet5实现手写数字识别(TensorFlow2-mnist数据集)我的环境:一、LeNet5简单介绍二、LeNet-5代码实现三、训练四、对图片进行预测五、训练过程截图:参考资料我的环境:TensorFlow2.3.0 、Pycharm、Windows10代码已发布在码云上:https://gitee.com/jiangyi-yan/re-learning-and-deep-

2022-02-18 11:29:35 6776 1

原创 C51最小系统板红外遥控控制led灯的亮灭

C51最小系统板红外遥控控制led灯的亮灭一、前言由于很久没碰单片机了,而以前的代码也没有好好保存,所以现在需要用到红外遥控时找不到合适的可以参考。在b站看到一个不错的效果视频,但是需要加群,加了群之后问了群主想要代码参考一下,结果需要付费,由于我白嫖习惯了,而且红外遥控做起来本身不难,于是问了同学要了以前做红外遥控小车的代码,拿来修改了一下,改成控制led亮灭,基本上是改成最简单的了,看不懂红外的原理也可以方便地使用。我写这篇文章也是为了方便迁移到其他项目上去。二、说明1.本程序不包括红外遥控器的

2022-02-14 22:13:48 4142 11

原创 深度学习卷积神经网络参数计算

深度学习卷积神经网络参数计算文章目录深度学习卷积神经网络参数计算一、卷积层图像输出尺寸二、池化层图像输出尺寸三、全连接层输出尺寸四、卷积层参数数量五、全连接层参数数量六、代码实现与验证参考资料​ 本文参考了这篇文章:https://www.cnblogs.com/touch-skyer/p/9150039.html​ (本来不想自己写一遍的,无奈这篇文章后面的公式看得不太清楚)​ 本文将基于LeNet-5这个最简单的模型进行一步步演示,并用代码实现,验证网络结构的输出是否与计算的结果一致。

2022-01-18 23:01:02 10269 7

原创 串的应用---字符串暴力匹配(C语言实现)

串的应用—字符串暴力匹配(C语言实现)文章目录串的应用---字符串暴力匹配(C语言实现)算法思想--举个例子代码实现测试算法思想–举个例子​ 来看个图就明白了:​ 【匹配成功的情况】​ ①初始时:​ ②第一个能匹配,指针后移:​ ③第二个也能匹配,并且子串已经到了末尾,匹配结束,匹配成功。​ 【匹配失败】​ ①第一步与上面相同:两指针都指向第一个字符。​ ②第二步,指针后移:​ 第二步的时候发现不匹配,这时,需要更新指针 i 的位置,由于第一个字符已经比较过了

2021-11-05 07:00:00 840

原创 栈的应用---用栈实现括号匹配(C语言实现)

括号匹配#include<stdio.h>#include<stdlib.h>#include<stdbool.h> //根据C99标准,C语言使用bool类型需要添加这个头文件#define MaxSize 10 //顺序栈这里使用静态分配的方式,所以手动规定最大容量 typedef char ElemType;// //-------结构体定义部分------ //typedef struct{ ElemType data[MaxSize]; i

2021-11-04 12:42:10 5114

原创 带权无向图的邻接矩阵表示法(C语言实现)

带权无向图的邻接矩阵表示法(C语言实现)文章目录带权无向图的邻接矩阵表示法(C语言实现)一、邻接矩阵表示法二、本次程序实现的功能三、带权无向图的结构体定义四、创建无向图及邻接矩阵五、输出邻接矩阵六、输出顶点集合七、判断两顶点是否邻接八、全部代码九、测试一、邻接矩阵表示法​ 定义:所谓邻接矩阵存储,是指用一个一维数组存储图中顶点的信息,用一个二维数组存储图中边的信息(即各顶点之间的邻接关系),存储顶点之间邻接关系的二维数组称为邻接矩阵。​ 对于带权图而言,若顶点Vi 和 Vj 之间有边相连,则邻接

2021-11-02 23:53:21 26061 4

原创 二叉树相关操作(基于递归,C语言实现)

二叉树相关操作(C语言实现)文章目录二叉树相关操作(C语言实现)一、前序方式创建二叉树二、3种递归方式遍历2.1 前序遍历2.2 中序遍历2.3 后序遍历三、求叶子结点(度为0)个数四、求度为1的结点个数五、求度为2的结点个数六、求某结点的左右孩子七、求某结点的父结点八、求一共有多少个结点销毁树全部代码一、前序方式创建二叉树//前序方式建立 BTnode *CreateTree(){ BTnode *T; char ch; scanf("%c",&ch);//在后台直接输入一整串,例

2021-11-01 22:31:03 180

原创 单链表练习题-删除无序单链表中所有的重复元素(两种方法,C语言实现)

单链表练习题-删除无序单链表中所有的重复元素(两种方法,C语言实现)文章目录单链表练习题-删除无序单链表中所有的重复元素(两种方法,C语言实现)一、前言二、两种实现方式与优劣2.1 使用哈希存储2.2 使用两重循环三、全部代码四、测试一、前言​ 与前一篇单链表练习题-删除有序单链表中的重复元素(C语言实现)不同,本次实现的是删除单链表中所有的重复元素,无论数据是否有序。二、两种实现方式与优劣2.1 使用哈希存储​ 哈希存储是一种典型的以空间换时间的方法,之前用它来统计数字出现的次数,参见:C

2021-10-31 11:26:48 1271 7

原创 单链表练习题-向有序单链表中插入元素并保持有序(C语言实现)

单链表练习题-向有序单链表中插入元素并保持有序(C语言实现)文章目录单链表练习题-向有序单链表中插入元素并保持有序(C语言实现)一、题目二、思路三、动手实现四、全部代码五、测试一、题目​ 如图,原本链表就有序:假设现在要插入元素15,我们希望它插入在10和16之间。假设现在要插入元素5,我们希望它插入在7的前面。假设现在要插入元素22,我们希望它插入在20后面。二、思路​ 由于原来的链表已经有序,那么我们只需要一个指针就可以了。用指针p遍历链表,比较p当前所指元素和p后继的元素,如果要

2021-10-29 23:01:18 4737 1

原创 单链表练习题-构造环以及判断是否有环(C语言实现)

单链表练习题-构造环以及判断是否有环(C语言实现)文章目录单链表练习题-构造环以及判断是否有环(C语言实现)一.题目二.构造环三.判断是否有环四.全部代码五.测试一.题目​ 如下图所示:本次就是要构造环以及判断是否有环。二.构造环​ 构造环比较简单,只需要修改某个结点的指针就可以了,为了方便我这里直接修改尾结点的指针,使其指向指定元素的后继,这样就构成了一个环。bool Make_Loop(LinkList *L,ElemType e) //构造环,直接让尾指针指向特定结点的后继

2021-10-28 18:15:44 825

原创 单链表练习题-删除有序单链表中的重复元素(C语言实现)

练习题-删除有序单链表中的重复元素(C语言实现)文章目录练习题-删除有序单链表中的重复元素(C语言实现)一、题目二、思路三、代码实现四、全部代码五、测试一、题目​ 如题所述,是对单链表进行操作,而且链表是有序的,意味着重复元素都是挨在一块儿的,如下图所示:​ 或者是这样的:二、思路​ 既然重复元素都是连续挨着的,那么我们可以设置一个快慢指针,用temp指向上一个元素的值,p指向当前元素,如果p所指和temp所指元素相等,那么把p所指的结点删除,temp保持不动,p指针后移;如果p所指和

2021-10-06 17:54:38 3174 1

原创 C语言实现双链表

C语言实现双链表文章目录C语言实现双链表说明实现的功能结构体定义初始化插入结点删除结点输出所有元素全部代码测试说明图片自己画的,有点丑,不要介意。本文来自专栏:数据结构后续还会继续coding。如果有需要可以关注点赞一波。实现的功能 插入结点 删除结点 从头到尾遍历输出所有元素 获取某个结点的前驱和其后继结点获取前驱和后继主要是为了测试双链表是否编写正确,因为双链表可以访问前驱,这是与单链表不同的地方。结构体定义typedef struct BiLinkNode{ Elem

2021-10-01 22:24:25 730 1

原创 C语言实现二分查找

C语言实现二分查找前言​ 二分查找比较简单,但还是花5分钟写一下,方便以后偷懒。什么是二分查找​ 二分查找就是折半查找,相信大家都玩过猜数字的游戏,每次用二分法才就可以用最少的次数猜出数字。​ 假设有一个数组,A[10] = {11,12,13,14,15,16,17,18,19,20}。​ 定义三个指针:low,mid,high。以及我们要查找的目标数字goal。​ 初始时low指向第一个元素,high指向最后一个元素,每次mid=(low+high)/2,当目标值在mid的右边时

2021-09-23 17:19:23 152

原创 C语言实现顺序队列、循环队列和链式队列

C语言实现顺序队列、循环队列和链式队列文章目录C语言实现顺序队列、循环队列和链式队列一.顺序队列顺序队列的定义顺序队列全部代码二.循环队列循环队列的概念相关操作循环队列全部代码三.链式队列(带头结点)存储类型定义入队出队链式队列全部代码参考资料一.顺序队列顺序队列的实现比较简单,使用数组的方式存储即可。由于这种方式是静态存储,即一旦规定内存大小便不可改变,所以有可能会发生溢出,因而在实际使用中也没有太大的价值。所以我这里只做了一个简单实现,实现基本的入队和出队以及判断队空和队满等功能。顺序队列的定义

2021-09-15 16:01:31 1884

原创 C语言实现顺序栈

C语言实现顺序栈文章目录C语言实现顺序栈前言实现的功能主界面截图栈的定义栈的初始化入栈出栈获取栈顶元素全部代码功能测试前言最近在复习数据结构和C语言,就想照着自己的理解继续盲打代码。本次是实现了一个顺序栈,也就是采用静态分配的方式,这种方式实现起来比较简单。后续还会练习实现链栈等数据结构。栈是一种后进先出的数据结构,只允许在一端(栈顶)访问元素。实现的功能 初始化栈 入栈 出栈 获取栈顶元素主界面截图栈的定义typedef int ElemType;//给数据类型取别名,此次

2021-09-06 09:53:49 1309

原创 C语言-学生成绩管理系统

C语言-学生成绩管理系统文章目录C语言-学生成绩管理系统前言实现的功能添加学生信息根据学号查询根据学号删除学生记录根据学号查询并修改信息根据语文成绩从高到低排序全部代码系统功能测试前言最近在复习C语言和数据结构,于是用纯C语言写个成绩管理系统练练手。实现的功能系统的主界面如下:如界面所示,主要实现了以下功能: 增加记录 删除记录 查询记录 修改记录 排序 求和求平均分写的比较简单,但是这些基本的功能都实现了,希望能给大家起一个抛砖引玉的作用。该系统有很多可以优化的空间,比如

2021-09-03 11:23:34 3167

原创 树莓派4B上手指南

树莓派4B上手指南软件包以及镜像可以从百度网盘获取:链接:https://pan.baidu.com/s/1ReffurBHQWKU9cPnZFdOpw提取码:2021–来自百度网盘超级会员V4的分享首先确保我们已经有了以下东西:1.树莓派板子,我的是4B版本2.一个SD卡3.一个读卡器4.树莓派电源线5.一根网线文章目录树莓派4B上手指南一.烧录镜像二.配置WIFI三.SSH登录四.开启VNC服务五.使用网线连接树莓派和电脑六.安装opencv-python七.安装TensorFlo

2021-07-30 15:28:36 1194 2

原创 Sublime Text 3 配置C语言运行环境

Sublime Text 3 配置C语言运行环境文章目录Sublime Text 3 配置C语言运行环境前言1.下载安装 MinGW2.配置MinGw的环境变量3.检查环境是否安装成功4.在Sublime中配置C语言环境参考链接前言​ 因为之前找了一些教程,按照教程去配置,一直都没有成功,这次成功了就把自己完整的过程记录下来 ,希望能帮到更多的人。1.下载安装 MinGW​ 简单来说,MinGW是windows下的gcc工具,我们都知道gcc是Linux下的一个编译工具。下载:​ ①到官网h

2021-07-24 23:22:34 4321 17

原创 多线程-摄像头定位车牌的位置

继上一篇:opencv-python打开摄像头定位车牌之后,我发现摄像头有时会比较卡顿,显然这不是我想要的效果。产生卡顿的原因在于:摄像头读取到的有很多帧,但是如果每一帧我们都对其做各种滤波、腐蚀、膨胀等操作,那显然计算是跟不上摄像头捕捉的速率的。那么我们就引入了多线程。想法如下:把摄像头显示的部分放在主线程,然后开启一个线程去处理图像。实现代码如下:import cv2import threadingcap = cv2.VideoCapture(1) # 创建一个 VideoCaptur

2021-07-07 21:16:08 226 1

原创 opencv-python车牌颜色判断

在截取出车牌区域之后,我们需要判断车牌是什么颜色。我的思路是:根据不同颜色的hsv阈值取掩膜,掩膜得到的白色像素值最大的就是对应的颜色。取hsv颜色的阈值参考我之前的博客:Opencv+python打开摄像头或对图片拖动滑动条取颜色阈值主要区分3种颜色的车牌:蓝色、黄色和绿色。得到的阈值如下:lower_blue = np.array([100, 43, 46])upper_blue = np.array([124, 255, 255])lower_yellow = np.array([15

2021-07-04 10:36:06 3621 4

原创 opencv-python打开摄像头定位车牌

根据车牌的特点定位车牌。import cv2cap = cv2.VideoCapture(1) # 创建一个 VideoCapture 对象while (cap.isOpened()): # 循环读取每一帧 ret_flag, frame = cap.read() # 返回两个参数,第一个是bool是否正常打开,第二个是照片数组,如果只设置一个则变成一个tuple包含bool和图片 # 高斯去噪 image = cv2.GaussianBlur(frame, (3,

2021-07-03 17:33:50 651

原创 Ubuntu下Mysql常用命令

1.启动Mysql:mysql -u root -p2.查看当前有哪些数据库show databases;3.切换到当前数据库use 数据库名;4.查看当前数据库有哪些表show tables;5.查看表有哪些列show columns from 表名;6.查看某个表前两行的内容select * from 表名 limit 0,2;7.修改列名:格式: ALTER TABLE 表名 CHANGE 旧列名 新列名 数据类型;例如(我是在ubuntu系统下截的图):ubuntu下

2021-07-02 17:20:01 955

原创 Opencv批量修改图片尺寸并保存

最近要做一个深度学习项目,但是发现数据集大小不太规整,或者是不是我想要的尺寸,于是决定批量修改统一大小。【原来的数据】原来的数据大小是20×20的,我想要的是32×32大小的。【修改尺寸后的数据】可以看到尺寸明显变大了。脚本如下:import cv2import os# 原始图片文件夹路径ori_path = 'D:\\pycharm\\certify_code_detect\\datasets\\car_data\\0\\'# 修改后保存的文件夹路径save_path = 'D

2021-06-30 22:32:31 2634 6

原创 Opencv-Python车牌字符切割

声明:本篇主要代码参考自这篇文章:https://blog.csdn.net/m0_38024433/article/details/78650024在此基础上作了一些修改。import cv2 as cvimg = cv.imread('test.png', 1)cv.imshow('origin', img)gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY) # 灰度化cv.imshow('gray', gray)blur = cv.bilater

2021-06-30 15:38:22 390

原创 探究几种神经网络不同写法的效果(Tensorflow2 以AlexNet网络为例)

猫狗分类的数据集,各一千张。一.第一版import tensorflow as tfimport matplotlib.pyplot as pltimport numpy as npimport pathlibfrom keras.layers import Input, Activation, BatchNormalization, Flattenfrom keras.layers import Dense, Conv2D, MaxPooling2D, Dropoutfrom keras.

2021-06-29 16:09:47 189

原创 Ubuntu16.04安装CPU版TensorFlow2,并跑一个简单的程序

一.下载Anaconda3安装包先到官网或清华的镜像站下载安装包:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/或者直接下载我已经上传到百度网盘的包:链接:https://pan.baidu.com/s/1EmpScgLg-kQ8eEndHSDALQ提取码:abcd复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享包的版本我选择:Anaconda3-5.2.0-Linux-x86_64二.安装Anac

2021-06-27 21:20:33 665 2

空空如也

空空如也

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

TA关注的人

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