- 博客(152)
- 资源 (30)
- 收藏
- 关注
原创 Win10+GeForce 940M(CUDA8.0)+Visual Studio 2015的GPU环境配置步骤
需要安装windows操作系统;破解Windows操作系统;升级windows操作系统;下载显卡驱动;安装显卡驱动;下载Visual Studio 2015;安装Visual Studio 2015;下载CUDA8.0;安装CUDA8.0;在安装CUDA8.0时,需要注意一下安装技巧。...
2020-10-24 20:18:27
646
原创 POS机介绍——密码设备研发商介绍No.1
通过一段时间的探索,我找到了很多国内商用密码设备制造商,打算对这些密码设备制造商的主营业务进行了解,于是创建密码设备制造商专栏。本篇为第首篇。0 引言福建联迪商用设备有限公司公司简介:联迪商用是一家集研发、生产、销售和服务于一体的高新技术企业,经过十余年的发展,已成为具有世界领先水平的电子支付完整解决方案供应商。联迪商用的产品涵盖金融支付终端、智能商用终端、新零售产品等多个种类,广泛应用于中国工商银行、中国农业银行、中国银行、中国建设银行、交通银行等银行以及银联商务、通联支付等第三方支付机构,并深
2020-08-16 22:09:57
743
1
原创 OpenCV图像边缘检测系统
边缘检测系统原理: 使用一阶导数的极值或二阶导数的过零点来提取图像的边缘信息。 首先基于VS2010+OpenCV2.4.9环境编写程序,参考毛星云著《OpenCV3编程入门》 1.Canny边缘检测,代码如下:#include <opencv2\opencv.hpp>#include <opencv2\highgui\highgui.hpp>#inclu...
2020-08-06 15:18:18
471
原创 Hash函数MD5算法原理与应用 —— 密码与密码工程实践No.3
Hash函数基本原理Hash函数的定义将任意长的消息M映射为较短的,固定长度的一个值H(M)的函数就是Hash函数。Hash函数也成为哈希函数、散列函数、压缩函数、杂凑函数、指纹函数、杂凑码、指纹、消息摘要。Hash函数H一般为公开的。其Hash值称为散列值、指纹、摘要等。Hash函数是一个多对一的映射。Hash函数满足的条件Hash函数的目的是为认证的数据产生一个“指纹”。需要满足以下条件:Hash函数的输入可以是任意长;Hash函数的输出是固定长;Hash函数易于在软件和硬件中实现。但是
2020-08-04 11:34:25
1407
原创 cifar10数据集离线导入方法程序代码 —— Python数据工程No.11
cifar是一个非常好的图片数据集,其官方网址如下:cifar数据集下载以及数据集说明网址针对tensorflow2对该数据集在线导入速度慢的问题,本文给出cifar10数据集离线导入代码,并给出了详细注释,在此分享:在官网下载得到的数据集压缩包名称为:cifar-10-python.tar.gz数据集下载地址:cifar-10-python.tar.gz解压数据集所得文件夹如下图所示:可以看到有5个训练batch数据,1个测试batch数据。这里每一个batch数据集里有10000张3323
2020-07-26 11:50:03
1606
原创 arange、linspace与mgrid生成数组(numpy的API说明) —— Python数据工程No.10
numpy.arange的API详情numpy.arange([start, ]stop, [step, ]dtype=None)该函数返回给定间隔内的均匀间隔的值。参数:start : 可选参数,间隔的开始,并且间隔包括该值。默认起始值为0。end : 间隔结束,并且该间隔不包括此值。step : 可选参数,值之间的间距。对于任何输出out,这是两个相邻值out [i+1]-out[i]之间的距离。默认步长为1。如果将step指定为位置参数,则还必须指定start。dtype
2020-07-24 10:41:51
408
原创 PCA主成分分析算法 —— Python数据工程No.9
主成分分析(Principal Component Analysis, PCA)PCA是一种最常用的降维方法,通常用于高维数据集的探索与可视化,还可以用作数据压缩和预处理。PCA可以把具有相关性的高维变量合成为线性无关的低维变量,成为主成分。主成分能够尽可能保留原始数据的信息。相关术语:方差(variance)方差是各个样本和样本均值的差的平方和的均值,用来度量一组数据的分散程度。s2=∑i=1n(xi−x)2n−1{{s}^{2}}=\frac{\sum\nolimits_{i=1}^{n}{{
2020-07-16 19:15:47
442
原创 插值方法 —— Python数据工程No.8
1 插值方法的基本概念:在实际问题中,一个函数y=f(x)y=f(x)y=f(x)往往是通过实验观测得到的,仅已知函数f(x)f(x)f(x)在某区间[a,b][a, b][a,b]上一系列点上的值:yi=f(xi),i=0,1,...,ny_{i}=f(x_{i}),i=0,1,...,nyi=f(xi),i=0,1,...,n。当需要在在这些节点x0,x1,...,xnx_{0},x_{1},...,x_{n}x0,x1,...,xn之间的点xxx上的函数值时,常用较简单的、满足一定条件的
2020-07-06 18:47:30
2220
原创 程序员如何优雅地在word中插入代码 —— 种草计划 No.1
在这个后信息时代、大数据时代、人工智能时代、物联网时代。如果你是一名理工科相关专业大学生,如果你是一名研发岗位工作人员,如果你是一名科研工作者,那么你大抵要与计算机程序打交道。假如这样一个场景:你的工作完成的很出色,大家委任你去展示工作成果。这个时候就需要写文档了,那么你的关键程序代码段如何优雅地插入到word文档中去呢?当然如果你是以为LaTeX大神,你一定可以做的很优雅。但是针对word编辑器,我们该如何优雅地插入程序代码呢?有这样一个网站:PlanetB据说通过Google浏览器便可以十分优雅地
2020-07-01 19:03:26
1184
原创 有限序列线性复杂度和k-错线性复杂度的计算 —— 密码与密码工程实践No.2
有限序列线性复杂度和k-误差线性复杂度的计算在本节中,我们的目标是开发算法,计算有限序列的线性复杂度和k-误差线性复杂度,将其视为周期为2次方的二进制序列的初始段(我们不需要知道是哪一次方)。注意,任何周期为2v{{2}^{v}}2v的无穷序列s∈Ts\in \Taus∈T,其中 最小,c(s)≤2vc(s)\le {{2}^{v}}c(s)≤2v。因此,如果我们知道s的至少2c(s)2c(s)2c(s)项,我们实际上知道序列的整个周期,即我们知道整个序列。我们将用 表示周期任意幂为2的二进制序列集,
2020-06-26 18:46:03
1049
原创 RC4算法原理与应用 —— 密码与密码工程实践No.1
RC4密码简介:RC4是由美国密码学家Ron Rivest在1987年设计的流密码算法,该算法被广泛用于 SSL/TLS协议(Socket Secure Layer, SSL)/(Transport Layer Security, TLS),WEP(Wired Equivalent Privacy, WEP)协议和 WPA(Wi-Fi Protected Access, WPA)协议,也作为蜂窝数字数据包规范的一部分。RC4是一种基于非线性变换的流密码算法。该算法包括两部分:(1)密钥编制算法KSA(
2020-06-17 16:50:58
1157
原创 使用神经网络训练iris数据集 —— Python数据工程No.7
数据介绍:iris数据集的数据有4个属性,分别为:花萼长、花萼宽、花瓣长、花瓣宽这些数据是对三种鸢尾花——狗尾鸢尾、杂色鸢尾、弗吉尼亚鸢尾——采样生成的。部分数据如下图所示:数据特征示例:数据标签示例:因此我们输入的数据特征为14矩阵,输出的数据标签为13矩阵分别记为X,Y。由此,我们可以搭建BP神经网络如下图所示:此时X = [x0, x1, x2, x3],Y = [y0, y1, y2]。w = [[w00, w01, w02], [w10, w11, w12], [w20, w21
2020-06-11 17:00:27
1885
原创 Window10下通过Cmake用QT中的MinGW编译OpenCV —— QT&&OpenCV学习No.1
软件、软件版本及其下载方式:Software NameSoftware VersionDownload FunctionOpenCVopencv-3.4.0OpenCVCMakeCMake 3.17.3 (32bit)CMakeQTQT 5.14.2QT步骤1 :安装QT并配置环境变量步骤2 :安装CMake并配置环境变量步骤3 :编译OpenCV在windows环境下编译OpenCV时容易出错误,现在给出详细编译过程,前提是步骤1与步骤2已
2020-06-05 17:52:58
365
原创 DBSCAN聚类算法的应用 —— Python数据工程No.6
DBSCAN算法是一种基于密度的聚类算法,与kmeans算法不同的是,DBSCAN算法在聚类的时候不需要预先指定簇的个数,最终簇的个数也是不确定的。DBSCAN算法将数据点分为三类,分别是:核心点、边界点、噪音点。核心点的概念:在聚类半径内含有超过MinPts数目的点;边界点的概念:在聚类半径内点的数量少于MinPts,但是落在核心点的邻域内;噪音点的概念:既不是核心点,又不是边界点的点。步骤:将所有点标记为核心点、边界点或噪声点;删除噪声点;为距离在Eps之内的所有核心点之间赋予一条边;
2020-06-04 19:55:39
1227
2
原创 tensorflow的基本函数用法——Python数据工程No.4
这里简单明了地给出了函数简介,详细使用方法代码见blog附带code创建张量的方法方法1 : 利用tf.constant(tensor_content, dtype=data_type)函数tensor_content一般用列表表示,将其转换为data_type类型的tensor方法2 : 利用tf.convert_to_tensor(data_name, dtype=data_type)函数convert_to_tensor函数将numpy格式的数据转换为data_type类型的tensor数据
2020-05-26 22:28:38
498
原创 基本统计数据可视化——Python数据工程No.3
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2020-05-20 16:19:36
820
原创 基本语法元素的格式输出(一次性彻底入门python)—— Python数据工程No.2
一份Python代码彻底入门Python,Simple and Rough!注释详细~from operator import itemgetterfrom datetime import date, time, datetime, timedeltafrom math import exp, log, sqrtimport re#Print a simple stringprin...
2020-05-05 11:20:07
647
1
原创 基本文件操作——Python数据工程No.1
获取当前Python程序运行路径import osprint(os.getcwd())自动处理路径链接import osprint(os.path.join('project', 'all'))文件、文件夹的输出import osfiles = os.listdir()for file in files: print(file, os.path.isdir(file))...
2020-05-02 15:44:45
638
原创 MCS-51单片机总结——No5.存储之MMC存储卡
MMC存储卡基础知识当单片机需要存储大量数据时,可以使用MMC(Multimedia Card)存储卡。MMC存储卡有7个引脚,支持MMC和SPI(Serial PeripheralInterface)两种串行数据通信模式,在SPI模式中,MMC存储卡可以通过4条信号线完成数据的传输,完全符合SPI数据的规范,这四条信号线为SCK、MISO、MOSI、CS。SPI模式的通信速率比MMC模式通信...
2020-04-26 23:04:02
1184
原创 MCS-51单片机总结——No4.存储之AT24C04A
AT24C04A芯片基础知识当51单片机应用系统需要存放一些在掉电后需要保存的数据时,可以使用E2^{2}2PROM。AT24C04是很常用的E2^{2}2PROM芯片。AT24C04A是Atmel公司出品的I2^{2}2C总线接口E2^{2}2PROM,有8KB的内部存储空间,采取8字节/页、256页、2个块的分页方式。AT24C04A的电路简图如上所示,主要有A1、A2、WP、SDA、...
2020-04-24 12:25:44
4826
原创 MCS-51单片机总结——No3.存储之62256
8051单片机存储器的基本知识51系列单片机应用系统的存储器可以分为两种:一种是系统代码在运行时所需要的程序变量空间,这种存储器可以称为“程序内存”,类似PC的内存,通常包括各种RAM芯片;另一种是用于短时间或永久存放系统相应的各种数据,这种存储器可以成为“数据内存”,类似PC的硬盘,通常包括E2E^{2}E2PROM、MMC卡等。半导体存储器按读写工作方式可分为两种:只读存储器ROM(Rea...
2020-04-23 21:45:47
4325
原创 MCS-51单片机总结——No2.串口应用
8051单片机串口的基本知识51单片机有一个全双工的串行模块,该模块可以通过编程控制为异步工作方式或同步工作方式,是51单片机最常用于和外部设备交互的数据通道。串行控制寄存器 : SCON (地址为 : 0x98)串行数据寄存器 : SBUF (地址为 : 0x99)电源管理寄存器 : PCON (地址为 : 0x97)SCON : 用于对串行模块进行相应控制,支持位寻址,当...
2020-04-23 08:30:47
1248
原创 MCS-51单片机总结——No1.定时器/计数器应用
8051单片机定时器/计数器的基本知识概述:51单片机内部集成了两个16位定时/计数器T0和T1,他们可以单独配置为定时器或计数器。当它们被配置为定时器时,将按照预先设置好的长度运行一段时间后产生一个溢出中断;当他们被配置为计数器时,在单片机的外部中断引脚上检测到一个脉冲信号后计数器将加1,如果达到预先设置好的事件数目,就将产生一个中断事件。处于计数工作模式时, 加法计数器对芯片端子T0...
2020-03-25 13:55:57
2317
原创 数据结构之数组结构
数组 array数组是可以在内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组的元素通过数组下标进行访问,数组下标从0开始。优点:1 按照索引查询元素速度快2 按照索引遍历数组方便缺点:1 数组的大小固定后就无法扩容了2 数组只能存储一种类型的数据3 添加、删除的操作慢,因为要移动其他元素。应用场景:频繁查询,对于存储空间要求不大,很少增加和删除内存空间的情况。数组...
2019-02-17 01:24:17
451
原创 K-means聚类算法的应用——Python数据工程No.5
k-means算法:以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,簇间的相似度较低。步骤:1.随机选择k个点作为初始的聚类中心;2.对于剩下的点,根据其与聚类中心的距离,将其归于最近的簇;3.对每个簇计算所有点的均值作为新的聚类中心;4.重复步骤2、3,知道聚类中心不再改变。实现方法:sklearn.cluster.Kmeans案例:根据1999年全国31个省份城镇居...
2018-12-30 15:43:48
5516
1
原创 使用sklearn训练并运行一个线性模型
import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport sklearnimport sklearn.linear_modeldef prepare_country_stats(oecd_bli, gdp_per_capita): oecd_bli = oecd_bli[oecd_bli...
2018-12-27 20:40:14
1166
原创 python使用opencv模块画简单的图形
opencv模块提供了画图函数接口,这些函数接口可以很方便的绘制简单地图形。cv2.line():绘制线段函数cv2.circle():绘制圆cv2.rectangle():绘制矩形cv2.ellipse():cv2.putText():首先我们先画最简单的线段,代码如下:import numpy as npimport cv2from matplotlib import pyp...
2018-12-26 21:06:51
715
原创 python使用matplotlib显示图像失真问题
在python显示图象时,我们用matplotlib模块时会遇到图像色彩失真问题,究竟是什么原因呢,下面就来看看究竟。待显示图像为:import cv2from matplotlib import pyplot as pltimg = cv2.imread('demo_2.jpg',0)plt.imshow(img, cmap = 'gray', interpolation = 'b...
2018-12-26 20:04:43
6626
原创 python调用opencv模块读取图片错误解决
可以看到,上图有两个图片和一个以.py为后缀名的源代码文件,两个图片的内容是一样的,知识他们的图片名称不一样,一个是英文名称,另一个是中文英文混合名称。代码如下:import cv2img = cv2.imread('demo_1.jpg', cv2.IMREAD_ANYCOLOR)cv2.imshow('image', img)cv2.waitKey(0)cv2.destory...
2018-12-26 12:29:12
2541
原创 STM32F4之LED(一)
STM32芯片最简单的实现,控制流水灯。这里代码逻辑不是重点,看明白内存映射,寄存器映射是关键之处。/*重点函数解释经过GPIO_Set,GPIOx就被设置为我们想要的模式了void GPIO_Set( GPIO_TypeDef* GPIOx, u32 BITx, u32 MODE, u32 OTYPE, u32 OSPEED, u32 PUPD)GPIO_Set形参意...
2018-11-07 18:08:32
1692
原创 STM32F4之按键(二)
STM32寄存器模式实现按键控制LED灯的状态使用正点原子的开源代码,保证了程序的简洁性和可读性。key.h文件:#ifndef __KEY__HH__#define __KEY__HH__#include "sys.h"//KEY端口初始化#define KEY0 PHin(3)#define KEY1 PHin(2)#define KEY2 PCin(13)#define...
2018-11-07 18:03:18
2550
原创 STM32F4之串口(三)
实现STM32开发板向计算机传送数据就需要准备好STM32开发板和上位接收程序。上位机部分使用QT开发,版本为5.8.0STM32部分使用STM32F429芯片,开发环境为uVision V5.24.2.0上位机效果为:代码如下:mainwindow.h文件:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include &lt;QMainWi...
2018-11-07 14:27:18
1868
翻译 2.4使用OpenCV添加(混合)两个图像
目标 在本教程中,您将了解: •什么是线性混合以及为什么它是有用的; •如何添加两个图像 理论 注:下面的解释属于Richard Szeliski的《计算机视觉:算法与应用》一书 在前面的教程中,我们已经了解了一些像素运算符。一个有趣的二元(双输入)运算符是。 线性混合运算符:g(x) = (1 - α)f0(x) + αf1(x) 通过改变α从0 到1该运算符可用于在两个图像或视...
2018-06-24 18:22:50
241
原创 QT(1)Java类型迭代器实现QList只读遍历
java风格迭代器: 例如:QList<T>容器:只读迭代器类:QListIterator<T>读写迭代器:QMutableListIterator<T>QLinkedList<T>容器:只读迭代器:QLinkedList<T>读写迭代器:QMutableLinkedList<T>QVector<T...
2018-05-31 12:39:45
956
原创 51单片机读写EEPROM(AT24C02)
AT24C02的存储容量为2K bit,内容分成32页,每页8Byte,共256Byte,操作时有两种寻址方式:芯片寻址和片内子地址寻址。 (1)芯片寻址:AT24C02的芯片地址为1010,其地址控制字格式为1010A2A1A0R/W。其中A2,A1,A0可编程地址选择位。A2,A1,A0引脚接高、低电平后得到确定的三位编码,与1010形成7位编码,即为该器件的地址码。R/W为芯片读写...
2018-03-18 10:52:14
13714
3
原创 关于单片机引脚排列方式的最终研究结果
以单片机P1寄存器为例,有以下两种排列方式:第一种:P1^7是高位,即:P1^7 P1^6 P1^5 P1^4 P1^3 P1^2 P1^1 P1^0第二种:P1^0是高位,即:P1^0 P1^1 P1^2 P1^3 P1^4 P1^5 P1^6 P1^7以上两种排列方式对于新手来说总是容易混淆,不知道到底哪一个是正确的,因此,可以使用流水灯测试代码进行验证。 使用CT107D...
2018-02-26 20:47:54
1692
原创 关于CT107D开发板矩阵按键前两列不工作问题的研究
CT107D开发板矩阵按键原理图如下所示:其中CON3的1引脚和2引脚相连构成矩阵键盘。//经典矩阵按键处理函数unsigned char keyProcess(void){ unsigned char keyTemp = 0; unsigned char keyValue = 0; unsigned char P3_Value = 0; P3...
2018-02-26 19:10:54
1037
1
原创 Windows API编程(二)Hello World程序
代码如下:#include "Windows.h"//处理WM_PAINT消息void OnPaint(HWND hWnd){ //获取设备上下文句柄 PAINTSTRUCT ps; HDC hDC = BeginPaint(hWnd, &ps); //获取窗口客户去矩形 RECT rcClient; GetClientRec...
2018-02-22 17:24:41
749
原创 Windows线程(七)使用互斥量无法解决线程同步问题
互斥量接口:1.创建互斥量:HANDLE CreateMutex( LPSECURITY_ATTRIBUTES lpMutexAttributes,//安全控制,一般为NULL BOOL bInitialOwner, //互斥量的初始拥有者 LPCTSTR lpName /...
2018-02-20 16:24:44
660
原创 Windows线程(六)使用事件机制解决线程同步问题
事件相关函数:1.创建事件:CreateEventHANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCTSTR lpName);2.根据时间名称获得事件句柄:OpenEventHANDLE O...
2018-02-19 14:51:22
326
OpenCV3.4.0的Mingw版编译文件
2020-06-05
TestData.zip
2020-06-04
tensorflow_common_functions.py
2020-05-26
Logistic Regression训练程序
2020-05-20
data visualization.zip
2020-05-20
矩阵键盘测试代码--适用于蓝桥杯比赛专用开发板CT107D
2018-02-26
流水灯测试代码--适用于蓝桥杯比赛专用开发板CT107D
2018-02-26
RHEL6之11:RHEL6_GFS_Web_HA
2018-02-05
RHEL6之6:linux命令、bash、shell脚本、sudo、gpg应用、RPM包签名校验
2018-02-05
RHEL6之4:正则表达式、共享访问、自动挂载、LDAP、ACL、SELINUX、RPM包管理
2018-02-05
RHEL6之3:ssh+tcpd+VNC+physical storage+kvm
2018-02-05
RHEL6之2:系统安装之无人值守安装
2018-02-05
通信网络编程作业整理
2017-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人