自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (10)
  • 收藏
  • 关注

原创 Opencv——calcHist()函数

在Opencv中,calcHist()函数用于计算一个或者多个阵列的直方图。原型如下:void calcHist(const Mat*images,int nimages,const int*channels,InputArray mask,OutputArray hist,int dims,const int* histSize,const float**ranges,bool uniform=true,bool accumulate=false) 第一个参数,const Mat类型的i

2020-10-19 16:02:38 1055 1

原创 Opencv——图像的矩

矩函数在图像分析中有着广泛的应用,一个从一副数字图形中计算出来的矩集,通常描述了该图像形状的全局特征。一阶矩与形状有关二阶矩显示曲线围绕直线平均值的扩展程度三阶矩关于平均值的对称性的测量由二阶矩和三阶矩可以导出一组共7个不变矩。不变矩是图像的统计特性,满足平移、伸缩、旋转均不变的不变性在Opencv中,如何计算一个图像的矩一般由moments 、 contourArea 、arcLength这三个函数配合求取使用moments计算图像所有的矩(最高到3阶)使用contourAr

2020-10-12 11:21:57 867

原创 过拟合和欠拟合

概念优化:代表通过调整模型来训练数据上表现最好。泛化:代表模型在未见过的数据上的表现。防止过拟合1.弄更多的训练数据2.调节模型储存的信息的质量,用来解决过拟合的方法叫做正则化。减少网络大小最简单的预防过拟合方法就是减少模型的大小。模型中可学习参数的数量被称为模型的“容量”。没有什么有魔力的公式能够决定层所需的正确数量,以及每一层的正确大小。你必须评估一系列不同的结构(在你的验证集上而不是测试集上)来找出你的数据的正确模型大小。一般的找到合适大小的流程是从一些相关的比较少的层数和参数开始,

2020-09-30 10:59:16 202

原创 三种评估机器学习模型

评估模型归纳起来就是将数据分为训练、验证和测试三个部分简单的坚持验证集选一部分数据作为测试集,在剩余的数据上训练,最后在测试集上评估。num_validation_samples = 10000# Shuffling the data is usually appropriatenp.random.shuffle(data)# Define the validation setvalidation_data = data[:num_validation_samples]data = [

2020-09-30 09:25:57 377

原创 Keras——callbacks使用

callbacks可以用来做这些事情:模型断点续训:保存当前模型的所有权重提早结束:当模型的损失不再下降的时候就终止训练,当然,会保存最优的模型。动态调整训练时的参数,比如优化的学习速度。推荐网址:https://www.jianshu.com/p/b05fb25de85c...

2020-09-29 10:49:26 324

原创 QT学习——文件操作

主要由QFile 可以用来读/写文本文件QFileInfo 获取文件信息代码理解:QFile file("myfile.txt"); if(!file.open(QIODevice::WriteOnly|QIODevice::Text)) qDebug()<<file.errorString(); file.write("helloQT!\nyafeilinux"); file.close(); //获取文件信息

2020-09-28 16:13:03 184

原创 QT学习—QTableWidget

将表格变为禁止编辑在默认情况下,表格里的字符是可以更改的,比如双击一个单元格,就可以修改原来的内容,如果想禁止用户的这种操作,让这个表格对用户只读,可以这样: tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);QAbstractItemView.NoEditTriggers是QAbstractItemView.EditTrigger枚举中的一个,都是触发修改单元格内容的条件:表格表头的显示与隐藏对于水平或垂直方

2020-09-27 13:46:02 231

原创 Keras笔记(三)

如何保存模型和权重1. 既储存模型结构,又包含其权重和配置信息使用keras.models.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件包含: 模型的结构 模型的权重 训练配置(损失函数,优化器等) 优化器的状态,以便于从上次训练中断的地方开始使用Keras.models.load_model(filepath)来重新实例化模型,如果文件储存了训练配置,还会同时完成模型的编译。例子:from keras.models import load_m

2020-09-18 09:57:54 235

原创 Keras笔记(二)

3.概念数据格式目前主要有两种方式来表示张量:a) th模式或channels_first模式,Theano和caffe使用此模式。b)tf模式或channels_last模式,TensorFlow使用此模式。下面举例说明两种模式的区别:对于100张RGB3通道的16×32(高为16宽为32)彩色图,th表示方式:(100,3,16,32)tf 表示方式:(100,16,32,3)唯一的区别就是表示通道个数3的位置不一样。模型Keras有两种类型的模型,序贯模型(Sequential

2020-09-18 09:51:47 344

原创 Keras笔记(一)

Keras是由纯python编写的基于theano/tensorflow的深度学习框架。Keras是一个高层神经网络API,支持快速实验,能够把你的idea迅速转换为结果,如果有如下需求,可以优先选择Keras:a)简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)b)支持CNN和RNN,或二者的结合c)无缝CPU和GPU切换1.Keras的模块结构2.使用Keras搭建一个神经网络...

2020-09-18 09:43:18 145

原创 制作ico图标的一个小软件

最近在写软件的过程中,遇见了如下问题:1.libpng warning:iCCP:known incorrect sRGB profile在网上搜索解决方案为:将图片用QIMAGE读取再重新保存就可以解决,说是保存为QT熟悉的格式就可以了。2.制作ico图标的问题。我按网上教程以及使用推荐在线转ico的网址制作一直没有成功,就决定自己写一个小软件来解决。针对于以上两个问题,下面这个软件可以全部解决:我将其发布版以及源代码上传,供大家分享:由于单位网络无法使用百度网盘,没积分下载的可以私信留下

2020-09-11 10:45:42 466

原创 QT如何添加组件

QT安装目录中点击MaintenanceTool选择“添加或移除组件”点击下一步,结果mmp,提示“要继续此操作,至少需要一个有效且已启用的储存库”,只能点设置手动配置了(因为默认的储存库不能用,所以会提示)。将下面网址复制进去http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/OK现在点击下一步就正常了,耐心等待,等待时间取决于网络。...

2020-08-31 09:18:19 2579 1

原创 关于上位机与西门子PLC PROFINET接口通讯的认识

在前段时间,我所写的二级系统需要与西门子PLC做通讯,之前我用过海康威视的VM软件,但是它只能支持MODBUS通讯,不能支持PROFINET通讯,我就以为PROFINET很难。由于我需要与西门子PLC通讯,我开始在网上学习,如何才能与PLC通讯,学习了libmodbus通讯,也看了QT自带的QModbus模块。我一直以为modbus与Profinet有很大的区别。问了同事,确定了我们的PLC不装modbus通讯模块,只有Profinet接口,我就放弃了modbus通讯的想法。后来在网上找办法的时候,看.

2020-08-25 10:37:20 6024 5

原创 Modbus通信协议——解析

Modbus解析Modbus通信协议主要分为以下三种:Modbus RTUModbus ASCIIModbus TCP其中Modbus RTU与Modbus ASCII均为支持RS-485总线的通信协议,其中Modbus RTU由于其采用二进制表现形式以及紧凑数据结构,通信效率较高,应用比较广泛。而Modbus ASCII由于采用ASCII码传输,并且利用特殊字符作为其字节的开始与结束标识,其传输效率要远远低于Modbus RTU协议,一般只有在通信数据量较小的情况下才考虑使

2020-06-30 09:14:32 1443

原创 QT使用libmodbus库(windows)

libmodbus库在做软件的时候需要与PLC进行通信,所以需要使用modbus。QT也有自带的Modbus库,可是我在查阅资料时,有网友指出,自带的Modbus库具有速度慢、不稳定的缺点。推荐使用libmodbus库。下面我整理了如何在Windows下使用QT配置libmodbus。1.下载limodbus下载地址1:官网:http://libmodbus.org/download/下载地址2:我整理的:https://download.csdn.net/download/zzh_AI/125

2020-06-28 11:05:42 6427 5

原创 MODBUS通信协议之通俗易懂的介绍

MODBUS通信协议是为了方便控制器、设备之间的数据交互,表面上由类似于“用户须知”一样的诸多条文组成,其实也就是说了几件事情:协议功能、通信内容、通信规则、通信数据格式。1)通信功能:MODBUS通信协议定义的功能包括读、写、诊断,这里可以想象一下,当你打电话办理某个业务,语音提示你:请输入您想办理业务,按键1查询,2充值,0人工服务,这不就是功能码嘛!2)通信内容:正如电商会展示出商品供大家选择一样,MODBUS通信协议定义了通信的内容包括保持型寄存器、输入寄存器、线圈等。商品有小件也有大件的,

2020-06-24 10:13:55 786

原创 ABB机器人——实时监测各个轴的扭矩

在机器人运行中,实时监测各个轴的扭矩是至关重要的,下面将描述一下如何实现这一功能。主要使用指令为:GetMotorTorque()要实时监测,需要使用中断指令: VAR intnum iTorque; VAR num TorqueTest1; VAR num TorqueTest2; VAR num TorqueTest3; VAR num TorqueTest4; VAR num TorqueTest5; VAR num TorqueTest6

2020-06-13 09:13:48 6133 6

原创 ABB机器人——设置定时检测机器人状态

问题描述:当机器人从位置A到位置B时,如果正常运行是6s,我们要检测这段代码,如果运行时间大于6s了,要默认其出现了问题或者是中间有什么东西阻碍了。所以要对该段代码进行时间检测。设定大于7s时,执行回原位操作。解决方案:用到中断指令; VAR clock clock_test; //时间变量 VAR num time_all; //统计时间 VAR num time; //时间变量 PROC Main()

2020-06-13 08:56:11 3090 1

原创 QT学习——QSemaphore

最近想做一个工业相机软件,其中要用到多线程,首先学习到了这个QSemaphore,记录一下吧:QSemaphore:一个通用的可计数的信号量。信号量实际上就是广义的互斥量。一个互斥量只能被锁定一次,然而一个信号量可以被获取多次。信号量常被用于保护一定数目的同类资源。信号量支持两种基本的操作:acquire()和 release()acquire(n)尝试获取n个资源。如果没有这么多数目的资源可用,它就阻断调用它的程序直到资源可用。release(n)释放n个资源tryAcquire()尝试获取资源

2020-05-29 15:14:03 2924

原创 关于QT的一个问题——The process was ended forcefully

最近在写一个小软件,之前一直能成功运行,突然今天就运行不了啦,报了如下错误:编译没问题,运行出现这个错误,一开始一脸懵逼,然后开始寻找解决方案,终于看了这位的博文https://www.jianshu.com/p/38ffc6cff0f3豁然开朗,应该是缺少了.dll按照步骤来,直接去编译好的文件中,找到 .exe 文件 双击运行果然出现了:这时候,我大概知道为啥了,我昨天卸载了海康威视的那个算法平台软件,所以它自动把我的.dll 也给删掉了。直接用everything搜索,看电脑里还有

2020-05-18 10:40:03 500

原创 Python进阶——open函数

Open函数open函数通常用来打开一个文件;例如,通常会这样写:fs=open('fs.txt','r+')data=fs.read()fs.close以上例子存在的问题显示的调用了close()函数,如果在read处出现了异常,那么close将不会被调用。为了确保无论是否有异常出现,都要确保文件被close,我们将open包装在with函数内。with open('fs.t...

2020-04-03 10:21:32 392

原创 Python进阶——else从句

else从句for 循环还有一个else从句。这个else从句会在循环正常结束时执行。既在循环中没有遇到break。例如:for n in range(2,10): for x in range(2,n): if n%x==0: print(n,'equals',x,"*",n/x) break else: ...

2020-03-27 16:09:40 186

原创 Python进阶——Lambda表达式

Lambda表达式是一行函数原型:lambda 参数 : 操作(参数)例子:add=lambda x,y:x+y;b=add(3,4)print(b)输出:7列表排序:a=[(1,2),(4,1),(9,10),(13,-3)]a.sort(key=lambda x:x[1])print(a)输出:[(13, -3), (4, 1), (1, 2), (9, 10)]...

2020-03-27 15:37:31 181

原创 Python进阶——异常处理

异常处理try/except从句。将可能触发异常产生的代码放到try模块里,而处理异常的代码会在except语句块里实现。如:try: file=open('test.txt','rb')except IOError as e: print('An IOError occured. {}'.format(e.args[-1]))输出: An IOError occur...

2020-03-23 11:25:09 162

原创 python进阶——推导式(Comprehesion)

推导式(解析式):可以从一个数据序列构建另一个新的数据序列的结构体。一、列表(list)推导式它的结构是在一个中括号中包含一个表达式,然后是一个for循环,然后是0个或多个for或者if语句。比如:multiples=[i for i in range(30) if i % 3 == 0]print(multiples)输出:[0, 3, 6, 9, 12, 15, 18, 21, ...

2020-03-23 10:33:38 472

原创 Python进阶——自省

自省——指在运行时判断一个对象的类型的能力。

2020-03-22 09:25:47 261

原创 Python进阶——容器(Collections)

Python容器包括:1.defaultdict与dict类型不同,你不需要检查key是否存在from collections import defaultdictcolours=(('yasoob','yellow'),('Ali','Blue'))favorite_colors=defaultdict(list)for name,colour in colours: fav...

2020-03-15 09:43:53 190

原创 Markdown语法

@Markdown语法Markdown语法你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会...

2020-03-14 09:33:22 126

原创 Opencv+QT——qt中如何使用多语言支持

针对于QT如何使用多语言支持:1.第一步需要在你的程序中将希望进行翻译的语句用tr表示如2.在pro文件中,加入一会你想生成的ts文件,名称3.打开工具——外部——Qt语言家——lupdate此时已经生成.ts文件4.打开linquist.exe文件打开刚才ts文件...

2019-10-16 20:15:59 190

原创 Opencv+QT——QT界面样式改变学习

以往我都是在个别按钮上单击修改样式表,通过此次案例学到通过在主界面下统一设置样式表。即对主界面空白处单击右键,选择改变样式表:代表窗口内所有的布件QPushButton{#指定布件改变样式表}QPushButton:hover :鼠标悬停...

2019-10-14 09:06:29 298

原创 Opencv+QT——第一个小程序学习

主要实现的界面:对于QT中的布局和各个布件的功能就不解释了。在这个小程序中,我学到了几个主要的功能:1.读取文件和储存文件用到了头函数:#include <QFileDialog>#include <QDir>读取文件:void MainWindow::on_inputpushButton_pressed(){ QString filename...

2019-10-12 10:34:06 295

原创 Opencv+QT——opencv在qt中如何配置

在QT中使用第三方库Opencv使用PRI文件首先在你选择的文件中创建一个文本文档,然后将其后缀改成.pri重命名为opencv.pri2.将你的Opencv添加至电脑环境变量3.打开Qt creater 新建Qt Console Application,双击pro文件。在最后一行填上include(F:/OpenCV4.0/opencv.pri),按ctrl+s保存,opencv.p...

2019-10-11 15:27:02 831

原创 Opencv学习——霍夫圆变换

HoughCircles()函数:void HoughCircles( InputArray image, OutputArray circles, int method, double dp, double minDist, double param1 = 100, ...

2019-08-19 15:20:18 274

原创 Opencv学习——霍夫线变换

在使用霍夫线变换之前,首先要对图像进行边缘检测的处理。主要有三种:HoughLines()1.标注霍夫变换(SHT)2.多尺度霍夫变换(MSHT)HoughLinesP() 执行效率更高3.累计概率霍夫变换(PPHT)void HoughLines( InputArray image, OutputArray lines, ...

2019-08-19 13:50:17 214

原创 Opencv学习——边缘检测(Scharr)

一般称scharr为滤波器,而不是算子。主要配合Sobel算子的运算而存在。void Scharr( InputArray src, OutputArray dst, int ddepth, int dx, int dy, double scale = 1, double delta = 0, ...

2019-08-16 09:33:23 916

原创 Opencv学习——边缘检测(Laplacian)

Laplacian算子是n维欧几里德空间中的一个二阶微分算子,定义为梯度grad的散度div。根据图像处理的原理可知,二阶导数可以用来进行检测边缘。让一副图像减去它的Laplacian算子可以增强对比度。void Laplacian( InputArray src, OutputArray dst, int ddepth, i...

2019-08-16 09:14:31 538

原创 Opencv学习——边缘检测(sobel算子)

sobel算子Sobel算子是一个主要用于边缘检测的离散微分算子。它结合了高斯平滑和微分求导,用来计算灰度函数的近似梯度。void Sobel( InputArray src, OutputArray dst, int ddepth, int dx, int dy, int ksize = 3, ...

2019-08-15 17:00:45 516

原创 Opencv学习——边缘检测 (Canny算子)

一、Canny边缘检测void Canny( InputArray image, OutputArray edges, double threshold1, double threshold2, int apertureSize = 3, bool L2gradient = false );...

2019-08-15 11:30:43 187

原创 python之将mp4转换为gif

使用python的moviepy库。首先安装moviepy库:1.进入cmd,pip install moviepy安装时若出现错误:Cannot uninstall 'imageio'. It is a distutils installed project and thus we cannot accurately determine which files belong t...

2019-08-13 14:13:32 2779

原创 Opencv学习——阈值操作

一、固定阈值操作:Threshold()函数该函数的典型应用是对灰度图像进行阈值操作得到二值图像。或者是去掉噪声,例如过滤很小或很大像素点的图像点。double threshold( InputArray src, OutputArray dst, double thresh, double maxval, int type ...

2019-08-12 14:23:10 210

制作ico的一个小软件.rar

可利用该软件进行ico制作,其中包括源代码和发布版本 可利用该软件进行ico制作,其中包括源代码和发布版本

2020-09-11

Snap7 手册.rar

snap7

2020-08-11

libmodbus_打包.rar

包含了libmodbus_3.1.6版本,和能对其进行configure的MSYS软件

2020-06-28

所统计的pcd文件学习用

所搜罗的pcd文件,一共126个,可以作为学习测试用。所搜罗的pcd文件,一共126个,可以作为学习测试用。

2019-06-20

OpenCV3编程入门【毛星云著】.rar

学习Opencv入门用

2019-06-17

qt 学习之晋级篇

学习快速入门之后,紧接着可以学习晋级篇,学完这个之后应该可以自己做项目了;

2019-03-29

QT creator 快速入门 高清书+源代码

辛苦寻找来的QT creator 快速入门,对于新手来说特别适用。

2019-03-29

空空如也

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

TA关注的人

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