Linux下线程同步(带你了解什么是互斥锁、死锁、读写锁、条件变量、信号量等)

假设有四个线程A、B、C、D,当前一个线程A对内存中的**共享资源**进行访问的时候,其他线程B、C、D都不可以对这块内存进行操作,直至A对这块内存访问完毕为止,B、C、D中的一个才能访问这块内存,剩余的俩个需要继续阻塞等待,一次类推,直到所有的线程都对这块内存操作完毕。线程对内存的这种访问方式称为线程同步,**所谓的现成的同步并不是多个线程同时对内存访问,而是按照先后顺序依次进行的。**......
分类: 编程语言 发布时间: 08-13 19:53 阅读次数: 0

Linux下gcc编译器和gdb调试

对于gcc编译的四步骤展开介绍,以及对gdb优化进行相比比较,并对调试的相关命令进行演示。
分类: 编程语言 发布时间: 08-13 19:53 阅读次数: 0

【深度学习】从LeNet-5识别手写数字入门深度学习

深度学习是机器学习领域中一个新的研究方向,想要搞懂深度学习不是一件容易的事,我们第一步应该是先让程序跑起来,那么LeNet-5手写数字识别就是一个很好的入门例子,那么就让我带你走进深度学习的殿堂吧...
分类: 编程语言 发布时间: 08-13 19:53 阅读次数: 0

【深度学习】基于tensorflow的小型物体识别训练(数据集:CIFAR-10)

实现一个基于tensorflow模型的小型物体识别算法,仅百行代码,新手入门必选。
分类: 编程语言 发布时间: 08-13 19:53 阅读次数: 0

【深度学习】聊一聊什么是卷积神经网络,卷积是什么意思?

零基础入门了解什么是卷积神经网络,并了解了平滑卷积、垂直边界卷积、水平边界卷积等。以及卷积在数学上的运算。最后讲解一个卷积的操作过程。
分类: 其他 发布时间: 08-13 19:53 阅读次数: 0

【深度学习】基于tensorflow的服装图像分类训练(数据集:Fashion-MNIST)

本文训练采用的模型与训练小型物体识别的一致。但是这里进行了归一化处理、数据升维、模型评估等操作。而且模型效果表现较为优秀,epochs=10的val_acc=91.64%。
分类: 编程语言 发布时间: 08-13 19:53 阅读次数: 0

解析隐式类型转换操作operator double() const,带你了解隐式转换危害有多大

你真的懂C++吗?你了解隐式类型转换操作符?你知道为什么C++引入了explicit关键字吗?最常见的构造函数也有你不了解的坑?
分类: 编程语言 发布时间: 08-13 19:53 阅读次数: 0

【深度学习】基于卷积神经网络的天气识别训练

通过Tensorflow对天气数据集进行识别。里面详细介绍了开发环境、训练方式、模型参数、数据集以及一系列的预处理等,最后还对训练的过程进行图像绘制。
分类: 编程语言 发布时间: 08-13 19:53 阅读次数: 0

STM32 PWM模板

感谢PWM,让模拟信号的实现不用再拖着一个大盒子,还要忍受磁场、温度等环境带来的极大误差的影响。通过导通时间的改变,从而实现稳压电源输出的改变,可以实现输出模拟信号void pwm_init(u32 arr, u32 psc){ GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_
分类: 其他 发布时间: 08-13 19:51 阅读次数: 0

STM32-输入捕获实验

原理简介:如图,假定定时器初始为向上计数模式,t1~t2 时间,即为测量的高电平时间测量方法:首先,设置定时器通道 x 为上升沿捕获,于是在 t1 时刻,就会捕获到当前的 CNT 值。然后立即清零 CNT,并设置通道 x为下降沿捕获。到 t2 时刻,又会发生捕获事件,得到此时的 CNT 值,记为 CCRx2。计算方法:CNT计数的次数等于: N*ARR+CCRx2,有了这个计数次数,再乘以 CNT 的计数周期,即可得到 t2-t1 的时间长度,即高电平持续时间。实验方..
分类: 编程语言 发布时间: 08-13 19:51 阅读次数: 0

使用汇编在屏幕上打印字符

以下代码在piASSUME CS:T17,DS:DATADATA SEGMENT DB 'HELLO WORLD!'DATA ENDST17 SEGMENTSTART: MOV AX,DATA MOV DS,AX MOV CX,25 MOV AX,0B800H MOV ES,AX MOV BP,0HS: MOV DX,CX MOV CX,12 MOV SI,0 MOV BX,0S0: MOV AL,DS:[BX] MOV AH,02H.
分类: 编程语言 发布时间: 08-13 19:51 阅读次数: 0

利用call与ret实现段内子函数

CALL 标号:1.指令加载进指令缓冲器2.(IP)=(IP)+3(CALL 标号所占字节)3.(SP)=(SP)-24.IP的值入栈((SS)*16+SP)=(IP)5.IP跳转至标号行偏移地址6.执行CS:IPRET1.指令加载进指令缓冲器2.(IP)=((SS)*16+SP)3.(SP)=(SP)+24.执行CS:IP程序设计结构:ASSUME CS:CODE,SS:STACKSTACK SEGMENT ;建立栈空间 ......
分类: 其他 发布时间: 08-13 19:51 阅读次数: 0

正态分布滤波

滤波前:滤波后:double bei=2;double average(int a[],int cnt);double StandardDeviation(int a[],int cnt);int judge_point(int a[],int cnt);double StandardDeviation(int a[],int cnt){ double sum=0; double ave=average(a,cnt); for(int i=0;i&...
分类: 编程语言 发布时间: 08-13 19:51 阅读次数: 0

opencv鼠标取样+灰度简单二值化

鼠标右键取样,作为灰度分界线进行最简单的二值化处理效果图:#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;bool flag = false;Mat image;int val1, val2, val3;void mouse_call_back(int event, int x, int y, int flags, void *..
分类: 编程语言 发布时间: 08-13 19:51 阅读次数: 0

OPENCV图片批量更换文字

团支书最头疼的事情莫过于假期收截图,例如当前的“暑假十课”,总有人久催不交看这图片上交的模板,通过改变右上角名字就能做到偷天换日,那么一个班近30,十课一共300张图片,人工肯定是不现实的,但是OPENCV给我们提供了很好的环境。方法:先采集RGB值,设置文字颜色阀值,然后将其与背景融合,再自行更换添加。#include <sys/stat.h>#include "opencv2/opencv.hpp"#include "bits/stdc++.h"#include .
分类: 编程语言 发布时间: 08-13 19:51 阅读次数: 0

OPENCV二值化改进

效果图:左上角为原图,左下角为简单处理,右上角为效果图#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;bool flag = false;Mat image,result;int val1, val2, val3;int solve(Mat &result);void mouse_call_back(int event..
分类: 编程语言 发布时间: 08-13 19:51 阅读次数: 0

中值滤波改进

按照:https://blog.csdn.net/aoamca84802/article/details/101811895的思路取中值时半径为三,改进后比一般bfptr算法快20倍以上以下代码模拟3e7次运算并输出时间,时间在40ms内#include "bits/stdc++.h"using namespace std;#define num_type intnum_type a[9],Max1, Max2, Max3, Med1, Med2, Med3, Min1, Min2, M
分类: 其他 发布时间: 08-13 19:51 阅读次数: 0

直立车串级与并行PID结合

速度环->角度环->角速度环->PWM1转向角度环->转向角速度环->PWM2MOTO_OUT_LEFT=PWM1+PWM2MOTO_OUT_RIGHT=PWM1-PWM2
分类: 编程语言 发布时间: 08-13 19:51 阅读次数: 0

交换机与路由器技术:动态路由协议、RIP路由协议和OSPF路由协议

推断因为相邻的路由器已经进行路由聚合了,所以该重启的路由器还是会学到到相邻路由器的路由聚合。5、进入RIP设置,关闭路由聚合,但是因为是在宣告之后才关的,所以我们还是可以看到路由聚合的条目信息。6、找某一路由器关机后开机,再次配置IP地址,和RIP设置,注意要在宣告之前关闭路由聚合,之后再来。这里前面路由器的g0/0预设为191是错误的,因为191是广播地址,我们应当要设置为190.因为去20.0的网段下面的线路比上面的线路近,所以路由表只有下面链路的信息。这里仅给出路由器0的配置图片,其他同理。.....
分类: 编程语言 发布时间: 08-13 19:49 阅读次数: 0

交换机于路由器技术:OSPF单区域配置、OSPF多区域和末梢区域

还发现了该末梢区域之外的区域的信息条目,因为路由器1会把左边链路汇总的信息传送给该末梢区域的其他路由器。7、发现末梢区域之外的路由信息已经消失了,即10.0的那条消失了。有两个DR,因为这个实验中三个路由器是直线相连式的,如果说是一个环形结构的,那么就只有一个DR。链路代价是一致的情况下,就会形成一个负载路由,否则就会找到一个最优的下一跳的路由。2、按图配置IP地址,链路左边的接口都配置为1,链路右边的接口都配置为2。我们再次打开路由器3的接口,等一会儿路由器5的负载路由又回来了。......
分类: 编程语言 发布时间: 08-13 19:49 阅读次数: 0