自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 资源 (42)
  • 收藏
  • 关注

原创 零基础如何入门MATLAB(适用于所有编程语言)?(建议收藏)

网上看过很多回答,都没有回答到点子上,举个例子:大而空:这个知友的回答我认为是写的相对来说比较好的:作为一个不新的新手,这里给大家推荐一下我是如何入门MATLAB的。根据我的个人经验,看项目代码学MATLAB是最有效的学习方式,同样,这也适合所有编程语言。步骤:1.对于零基础的小白,首先必须了解MATLAB的基本语法及基础知识。这里重点推荐慕课上刘卫国老师的科学计算与MATLAB语言,课程链接:https://www.icourse163.org/course/CSU-1002475002

2020-11-30 10:28:07 7173 9

原创 【总目录】毕业设计、基础操作、保姆教程、科普总结大全

文章目录一、科普二、毕业设计——《基于MATLAB的手写数字识别系统的设计》三、基础操作类四、保姆级教程五、常见问题及解决方案六、其他一、科普二、毕业设计——《基于MATLAB的手写数字识别系统的设计》三、基础操作类四、保姆级教程五、常见问题及解决方案六、其他...

2020-08-26 20:59:05 688

原创 我的第一篇博客

我的第一篇博客为什么要写博客?写作的首要目的还是总结自己,提升自己,当你写的多了,总结的多了,你会发现自己整体上升了一个台阶。你的交流能力,思考能力,主动性都会随着你不断的总结,不断的输出而有所提高,但前提是一定要认真写。其实很多朋友也想通过写博客来提升自己,但是觉得自己技术不牛逼,写不出什么有含量的东西,于是就放弃了。但只要你写的东西对自己有用或者对别人有用就可以了,不用对写的内容有太多...

2018-09-19 21:23:09 100

原创 Android Studio安装常见问题详解——Android Emulator Hypervisor Driver for AMD Processors installation failed.

目录一、问题描述二、解决方案2.1 开启CPU虚拟化2.2 禁用Hyper-V2.3 使用管理员命令行在驱动程序包中执行“silent_install.bat”一、问题描述新买的AMD轻薄本,在安装Android Studio时遇到问题:Android Emulator Hypervisor Driver for AMD Processors installation failed.笔记本配置为:二、解决方案2.1 开启CPU虚拟化设置虚拟化的步骤这里不进行详细介绍了。如果需要,可以自行百

2021-06-07 15:13:46 15

原创 系统辨识实例(2)——利用BP神经网络进行非线性系统辨识及MATLAB编程实现

前面几篇文章已经详细介绍了系统辨识的基本原理、方法以及系统辨识工具箱的基本使用。下面将利用实例进行介绍利用BP神经网络进行非线性系统辨识。目录一、实例介绍二、流程介绍三、程序结构3.1 输入数据(训练数据和测试数据)3.2 BP神经网络的建立与训练3.3 BP神经网络测试四、运行结果一、实例介绍利用BP网络对以下非线性系统模型进行辨识。y(k+1)=y(k)(2y(k−1)+1)1+y2(k)+y2(k−1)+u(k)y(k+1)=\frac{y(k)(2y(k-1)+1)}{1+y^2(k)+y^

2021-06-03 16:38:45 51

原创 生成对抗网络前言(4)——变分自动编码器(Variational autoencoder,VAE)介绍

目录一、变分自动编码器介绍1.1 变分自动编码器介绍1.2 变分自动编码器实现方法1.3 变分自动编码器实现的理论基础二、变分自动编码器的工作原理四、变分自动编码器的Python代码实现与结果显示五、变分自动编码器的缺点与改进一、变分自动编码器介绍1.1 变分自动编码器介绍变分自动编码器Variational autoencoder (VAE)是一个稍微更现代和有趣的自动编码器。相比于普通的自动编码器,变分自动编码器才算得上是真正的生成模型。为了解决自动编码器存在的不能通过新编码生成数据的问题,VA

2021-05-22 17:48:18 43

原创 生成对抗网络前言(3)——其他自动编码器介绍(稀疏自动编码器、深度自动编码器、卷积自动编码器、序列到序列的自动编码器)及自动编码器在图像去噪领域的应用

目录一、稀疏自编码器二、深度自编码器三、卷积自编码器四、使用自动编码器进行图像去噪五、序列到序列的自动编码器(LSTM)一、稀疏自编码器在自动编码器中,我们的隐含层有32个神经元。这种情况下,一般而言自动编码器学到的是PCA的一个近似。但是如果我们对隐含层单元施加稀疏性约束的话,会得到更为紧凑的表达,只有一小部分神经元会被激活。在Keras中,我们可以通过添加一个activity_regularizer达到对某层激活值进行约束的目的。部分代码如下:from keras import regulari

2021-05-21 20:17:45 66

原创 生成对抗网络前言(2)——自动编码器(auto-encoder)介绍

目录一、自动编码器介绍1.1 自动编码器介绍1.2 自动编码器特点1.3 自动编码器伪代码实现1.4 自动编码器的应用二、利用自动编码器实现生成模型三、自动编码器的代码实现与结果显示四、自动编码器的不足与改进一、自动编码器介绍1.1 自动编码器介绍自动编码器是一种神经网络模型,该模型的最初意义是为了能够对数据进行压缩。下图是一个标准的自动编码器,它的基本结构是一个多层感知器的神经网络,从输入层到输出层之间有多个隐含层,它的结构特点在于输入层与输出层拥有相同的节点数量,中间编码层的节点数量需要小于输入层

2021-05-19 20:40:39 92

原创 Python如何解决“AttributeError:module‘tensorflow‘没有属性‘get_default_graph‘”(附TensorFlow与Keras的对应关系)

最近编写Keras相关代码,经常会遇到如下问题:AttributeError: module 'tensorflow' has no attribute 'get_default_graph'经过不断查阅资料,最终发现很有可能是TensorFlow与Keras以及Python的版本不对应导致的。解决方案如下:1、查看TensorFlow与Keras的版本号win+R进入cmd命令行,输入pip show keras以显示Keras的版本,比如我的如下:输入pip show tenso

2021-05-19 17:23:41 116

原创 Python入门之开发环境配置:Anaconda与PyCharm的安装详解

目录0、前言1、Anaconda安装与配置2、Pycharm安装与配置2.1 Pycharm的安装2.2 Pycharm的配置0、前言最近由于大型项目需要,需要用到Pycharm进行Python程序开发,网上各种相关博客鱼龙混杂,这里我进行一下详细整理与介绍,希望能帮到在座的各位。首先说明一点,如果你不开发大型项目,其实不建议你使用Pycharm的。Anaconda+VScode这是最优解了。如果想进行大型Python项目开发,还是建议Anaconda+VScode的搭配。Anaconda安装配置在

2021-05-18 21:11:37 1627 26

原创 MATLAB GUI设计之如何在GUI界面中动态创建控件

目录一、功能介绍二、功能实现2.1 首先利用GUIDE生成程序的初始界面2.2 将新创建的控件句柄添加到程序句柄结构中三、代码示例3.1 首先创建如下的GUI界面3.2按钮的callback四、结果展示一、功能介绍由于有时利用MATLAB搭建GUI界面时,用户需要输入的数据个数是不确定的,这样就很难在界面上实现创建输入控件。这时,用户可能需要根据具体情况动态生成一些控件,如编辑控件等,来输入程序需要的各种参数。二、功能实现这种需要动态创建控件的方法最好结合GUIDE开发环境和纯代码创建控件来实现。

2021-04-30 18:24:45 153

原创 初识生成对抗网络(6)——利用Keras搭建CycleGAN实现风格迁移

目录0、前言一、CycleGAN介绍及其结构二、函数代码2.0 前提准备2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码0、前言CycleGAN的英文全称是Cycle GAN,即循环生成对抗网络,论文链接:https://arxiv.org/abs/1703.10593。一、CycleGAN介绍及其结构CycleGAN 是一种无需成对示例便可自动进行图像到图像转换的技术。这些模型是采用一批无需关联的来自源域和目标域的图像,以一种无

2021-04-26 20:29:09 119

原创 初识生成对抗网络(5)——利用Keras搭建LSGAN生成手写体数字

目录0、前言一、LSGAN介绍及其结构二、函数代码2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码五、常用技巧0、前言LSGAN的英文全称是Least Squares GAN,即最小二乘GAN,论文链接:https://arxiv.org/abs/1611.04076,LSGAN针对的是标准GAN生成的图片质量不高以及训练过程不稳定这两个缺陷进行改进。改进方法就是将GAN的目标函数由交叉熵损失换成最小二乘损失,而且这一个改变同时解决了

2021-04-24 21:38:10 73

原创 初识生成对抗网络(4)——利用Keras搭建ACGAN生成手写体数字并贴上标签

0、前言上两篇文章分别介绍了DCGAN 和CGAN的基本原理和代码示例,同时也反映出二者的一些缺点,比如DCGAN无法为图像添加标签进行分类,CGAN生成图像效果不好等。这一篇就来一下DCGAN与CGAN的综合版本——ACGAN。一、ACGAN介绍及其结构1.1 ACGAN介绍ACGAN全称Auxiliary Classifier GAN,是在CGAN基础上的扩展,通过对判别器进行改进实现了图像分类的功能,论文链接:https://arxiv.org/abs/1610.09585原始GAN网络的功

2021-04-23 21:58:59 60

原创 MATLAB GUI介绍之如何设定快捷键

0、功能介绍快捷键是某些特定的按键、按键顺序或按键组合,可用于完成一个特定操作。快捷键往往与Ctrl键、Shift键、Alt键、Fn键以及Windows键配合使用。对于一个比较完善的软件来说,快捷键是必需的,这样可以加快操作速度,提高工作效率。1、按键回调函数句柄函数名使用说明WindowKeyPressFcn当焦点在figure上或它的任何组件上时,按下任意键执行该函数WindowKeyReleaseFcn当焦点在figure上或它的任何组件上时,释放任意键执行该函数

2021-04-23 11:15:24 196 2

原创 MATLAB遇到问题:错误使用eval,未定义与‘struct‘类型的输入参数相对应的函数‘workspacefunc‘

以前MATLAB一直运行的运行的好好地,在我写一个新项目时,突然出现错误:错误使用eval未定义与’struct’类型的输入参数相对应的函数’workspacefunc’然后命令行窗口出现一系列错误:网上一搜索,一种常见的解决方法是:一、在matlab的command里输入: restoredefaultpath;matlabrc. 回车;二、建一个名为“pathdef.m”的文件复制到在matlab的安装目录/toolbox/local下;三、在matlab的command里输入“sav

2021-04-03 10:26:11 807 2

原创 【MATLAB图像处理实用案例详解(6)】—— 基于K-means聚类算法的图像区域分割

一、背景意义图像分割就是把图像分成各具特性的区域并提取感兴趣目标的技术和过程, 是目标检测和模式识别的基础。现有的图像分割方法主要有:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法、基于特定理论的分割方法等。聚类分析是一种无监督的学习方法,能够从研究对象的特征数据中发现关联规则, 因而是一种强大有力的信心处理方法。聚类法进行图像分割就是将图像空间中的像素点用对应的特征向量表示,根据它们在特征空间的特征相似性,对特征空间进行分割,然后将其映射回原图像空间, 得到分割结果。其中, K 均值和模

2021-04-01 16:17:46 661

原创 【MATLAB图像处理实用案例详解(5)】—— 基于不变矩的数字验证码识别

一、背景意义验证码具有多变性特点,而当前的识别系统往往具有很强的针对性, 只能够识别某种类型的验证码。随着网络安全技术及验证码生成技术的不断发展,已经出现了更加复杂的验证码生成方法,如基于动态图像的验证码系统等。运用计算机视觉、模式识别等相关理论对多种不同类型的验证码进行识别研究。矩特征主要表征了图像区域的几何特征,又称为几何矩, 由于其具有旋转、平移、尺度等特性的不变特征,所以又称其为不变矩。二、理论基础本案例提出了以处理颜色加噪的数字字符为理论研究素材, 将模板匹配作为基本框架的验证码识别系统

2021-04-01 15:41:22 257

原创 【MATLAB图像处理实用案例详解(4)】—— 基于知识库的手写体数字识别

一、背景意义手写体数字识别是图像识别学科下的一个分支,由于手写体数字的随意性很大,如笔画粗细、字体大小、倾斜角度等因素都有可能直接影响到字符的识别准确率,所以手写体数字识别是一个很有挑战性的课题。本案例讲述了图像中手写阿拉伯数字的识别过程,对手写数字识别的基于统计的方法进行了简要介绍和分析,并通过开发一个小型的手写体数字识别系统来进行实验。手写数字识别系统需要实现手写数字图像的读取功能、特征提取功能、数字的模板特征库的建立功能及识别功能。二、理论基础2.1 算法流程首先,读入手写数字图片进行图像归一

2021-04-01 09:34:53 231

原创 【MATLAB图像处理实用案例详解(3)】—— 基于阈值分割的车牌定位识别

目录一、背景意义二、理论基础2.1 车牌区域分割:2.2 车牌定位及裁剪三、算法流程3.1 车牌图像处理3.1.1 图像灰度化3.1.2 图像二值化3.1.3 图像边缘检测3.1.3 图像形态学运算3.1.4 图像滤波处理3.2 车牌定位原理3.3 车牌字符处理3.3.1 阈值分割原理3.3.2 对车牌阈值化分割3.3.3 字符归一化处理3.4 字符识别3.4.1 字符识别简述3.4.2 基于模板匹配的字符识别方法四、效果演示一、背景意义车牌识别主要包括以下三个主要步骤:车牌区域定位、车牌字符分割、车牌

2021-03-31 16:55:30 1221

原创 初识生成对抗网络(3)——利用Keras搭建CGAN生成手写体数字并贴上标签

目录0、前言一、CGAN介绍及其结构1.1 CGAN介绍1.2 CGAN结构二、函数代码2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码0、前言由于很多时候我们不仅想要数据,更想获取数据的标签,因此CGAN应运而生。一、CGAN介绍及其结构1.1 CGAN介绍CGAN全称Conditional Generative Adversarial Nets,论文链接:https://arxiv.org/abs/1411.1784。CG

2021-03-31 08:23:04 86

原创 【MATLAB图像处理实用案例详解(2)】—— 基于Hough变换的答题卡识别

一、背景意义研究答题卡识别软件的设计与开发,集成了图像分割、模式识别等领域的功能模块,涉及计算机图像处理的一系列知识。通过图像处理技术,系统能够识别答题卡图像的答案选项,再通过输入正确答案的答题卡并与之对照,进而对学生答题卡进行判别并计算出分数。本案例侧重于图像识别方面的实现,应用了图像校正、模式识别等方面的算法。二、理论基础答题卡自动阅卷系统通过获取答题卡图像作为系统输入,并通过计算机处理、自动识别填涂标记,存入数据库完成阅卷。在图像数字化的过程中,受设备、环境等因素的影响,答题卡图像的质量在一定程

2021-03-30 15:30:12 512

原创 初识生成对抗网络(2)——利用Keras搭建DCGAN生成手写体数字

目录0、前言一、DCGAN介绍及其结构1.1 DCGAN介绍1.2 DCGAN结构1.3 DCGAN的优点1.4 详细介绍二、函数代码2.0 训练前的准备2.1 生成器Generator2.2 判别器Discriminator2.3 train函数三、结果演示四、完整代码五、常见问题汇总六、【拓展】利用DCGAN实现三通道彩色图像生成0、前言上一篇介绍了GAN 的基本原理以及相关的概念和代码示例,同时也反映出GAN 的一些缺点,比如说训练不稳定,生成过程不可控,不具备可解释性等。这一篇就来看看GAN 的

2021-03-28 18:37:44 95

原创 手写数字识别问题(6)【拓展】——利用CNN卷积神经网络实现基于MATLAB的手写数字识别系统的设计

在朋友的强烈建议下,写一篇关于利用CNN卷积神经网络实现基于MATLAB的手写数字识别系统的设计的博客。一、关于卷积神经网络关于卷积神经网络我写过一篇文章单独介绍,可以参考:手写数字识别问题(3)——详解卷积神经网络LeNet-5,这里就不进行重点介绍了。二、训练过程、准确率与GUI界面神经网络为卷积神经网络,分别是输入层、卷积层1、激活函数、池化层1、dropoutout层(主要防止过拟合)、卷积层2、激活函数、池化层2、dropoutout层(主要防止过拟合)、全连接层和输出层。其结构参数如下

2021-03-27 10:00:22 368

原创 【MATLAB图像处理实用案例详解(1)】—— 基于直方图优化的图像去雾技术

一、背景意义在恶劣天气(如雾天、雨天等)条件下,户外景物图像的对比度和颜色也会被改变或退化,图像中蕴含的许多特征也会被覆盖或模糊,这也会导致某些视觉系统(如电子卡口、门禁监控等)无法正常工作二、理论基础2.1 空域图像増强图像增强是指按特定的需要突出一幅图像中的某些信息,并同时削弱或去除某些不需要的信息的处理技术。图像增强的主要作用是相对于原来的图像,处理后的图像能更加有效地满足某些特定应用的要求。根据图像处理空间的不同,图像增强基本上可分为两大类:频域处理法、空域处理法。频域处理法的基础是

2021-03-24 11:06:12 897

原创 初识生成对抗网络(1)——利用Keras搭建简单GAN生成手写体数字

0、前言GAN网络是近两年深度学习领域的新秀,本文和之后的初识生成对抗网络系列旨在浅显理解传统GAN,分享学习心得。关于为什么使用Keras进行搭建,而不是如日中天的TensorFlow和pytorch,因为keras是对新手最友好,最简单实用的深度学习框架,因此首先利用keras进行搭建,等充分理解GAN的结构和参数之后,再利用TensorFlow或pytorch进行搭建。一、GAN结构普通GAN的结构就是利用全连接层+激活函数,这里不过多介绍。二、函数代码2.1 生成器Generator生

2021-03-23 09:41:21 104

原创 【MATLAB图像处理实用案例详解】目录

未来一个月的任务主要是GAN生成对抗网络理论部分+代码实战和MATLAB图像处理实用案例详解。做生成对抗网络主要是因为我的研究方向涉及到这个部分,因此将其作为主要研究内容,但由于研究方向的私密性问题,绝大部分文章我都会设置为VIP专属,其他文章也会设置为私密,等研究完成再一起设置为公开,希望大家见谅;而做MATLAB图像处理实用案例主要是因为最近资金有点短缺,希望能够恰点饭,谢谢各位理解。MATLAB图像处理实用案例目录如下:【MATLAB图像处理实用案例详解(1)】—— 基于直方图优化的图像去雾技

2021-03-21 17:06:48 161

原创 基于OpenCV3和C++的电脑摄像头(或Astra摄像头)手势识别系统设计(完结)

经过两个月左右努力,基于OpenCV3和C++的手势识别系统设计完结。从OpenCV概述及安装配置教程到本篇博客:基于OpenCV3和C++的手势识别系统设计(完结),花费了大量精力,下面简单介绍一下本手势识别设计。目录一、项目介绍二、项目流程图三、显示结果四、代码实现一、项目介绍本次做的项目主要是利用奥比中光Astra mini摄像头进行手势识别,但是由于Astra mini摄像头存在一些局限性,我选择首先利用电脑自带摄像头进行手势识别,等调试运行成功后,再将其代码移植到Astra mini上。

2021-03-13 18:50:02 136

原创 如何利用MATLAB调用手机摄像头(手把手教程)

一、下载并安装Droidcam电脑端下载地址:http://www.dev47apps.com/手机端可直接通过App Store或应用商店下载。下载完成后,安装。1.1 Windows端可以看到PC端的工具界面非常的简洁,共分为三种连接方式,分别为WiFI连接、USB连接、WIFI保护连接,大家只需要注意前两种就好,第三种无关紧要。1.2 手机端在连接WIFI的情况下打开APP就会显示你的WIFI IP地址以及软件默认设置的端口(可修改),请务必记住这个地址以及端口。iPhone版:

2021-03-11 21:16:06 669 1

原创 基于C++,OpenCV3以及SVM的MNIST手写数字识别系统的设计

目录一、OpenCV3对MNIST数据集的解析1.1 MNIST数据集介绍1.2 小端格式和大端格式1.3 小端存储转换代码示例1.4 OpenCV3对图像数据的解析代码示例1.5 OpenCV3对标签数据的解析代码示例二、模型训练2.1 训练数据准备2.2 构建支持向量机SVM并进行训练2.3 在测试数据集上预测训练准确率2.4 运行结果三、调用训练好的模型进行手写数字识别3.1 代码示例3.2 运行结果一、OpenCV3对MNIST数据集的解析1.1 MNIST数据集介绍关于MNIST数据集,我曾

2021-03-09 09:53:57 97

原创 图像中米粒个数的识别(2)——如何从左到右依次给米粒计数

在上文MATLAB示例——图像中米粒个数的识别中,我详细介绍了图像中米粒个数的识别以及计数相关算法及程序实现。但是我们发现,最后的结果米粒计数好像是从任意位置开始的,那要如何从最左上端开始,到右下端结束呢?主要思路我的主要思想是统计出标签矩阵 L中各个米粒的横纵坐标位置,将其赋值在一个元胞数组1中,然后提取出横坐标的最小值(如果按列排序则提取出纵坐标的最小值)将其存放在另一个矩阵中。依次遍历另一个新的元胞数组2,同时寻找横坐标矩阵最小值所在的行数,将其对应的行数所在的元胞数组1中存放的数据赋值到2中。

2021-03-07 14:22:41 253

原创 MATLAB示例——图像中米粒个数的识别

目录一、任务要求二、图像处理2.1 读取图像2.2 形态学处理2.3 二值化2.4 对连通性进行标注三、质心寻找及序号标注3.1 质心寻找3.2 序号标注四、完整程序代码一、任务要求要求识别上图中的米粒个数并在原图上找到质心进行序号标注。二、图像处理2.1 读取图像图像读取主要代码如下:g=imread('rice.gif');2.2 形态学处理对图像进行形态学处理,主要用于降低噪声,消除细小毛刺,平滑米粒图像。主要代码如下:SE=strel('disk',4); % 形态结构元素

2021-03-07 10:04:02 707

原创 利用C++和OpenCV3设计支持向量机SVM分类器

目录一、代码示例二、SVM训练过程2.1 数据准备2.2 初始化SVM参数2.3 训练SVM2.4 保存数据2.5 加载保存的数据2.6 测试数据三、显示支持向量机分类区域3.1 初始化图像显示区域3.2 显示SVM决策区域3.3 显示训练数据3.4 显示支持向量四、输出结果一、代码示例话不多说,直接上代码:#include <opencv2/opencv.hpp>#include <opencv2/ml.hpp>#include<iostream>using

2021-03-04 12:58:48 183 1

原创 基于C++,OpenCV3以及SVM的手写数字识别系统的设计(从手写数字识别设计中认识SVM)

目录1、数据准备2、训练集和测试集划分3、SVM模型训练3.1 数据准备3.2 特征选取3.3 配置SVM训练器参数3.4 保存模型4、加载模型实现分类1、数据准备在OpenCV的安装路径下,搜索digits.png,可以得到一张图片,图片大小为1000* 2000,有0-9的10个数字,每5行为一个数字,总共50行,共有5000个手写数字,每个数字块大小为20* 20。 如下图所示:下面将把这些数字中的0和1作为二分类的准备数据。其中0有500张,1有500张。代码如下:#include &l

2021-03-04 11:19:05 132 2

原创 OpenCV之傅里叶描述子特征构建(Fourier Descriptor)

目录1、傅里叶描述子介绍2、归一化的傅里叶描述子3、算法描述4、代码示例1、傅里叶描述子介绍傅里叶描述子的基本思想是:首先我们设定物体的形状轮廓是一条闭合的曲线,一个点沿边界曲线运动,假设这个点为p(l),它的复数形式的坐标为x(l)+jy(l),它的周期是这个闭合曲线的周长,这也表明属于一个周期函数。该以曲线周长作为周期的函数能够通过傅里叶级数表示。在傅里叶级数里面的多个系数z(k)与闭合边界曲线的形状有着直接关系,将其定义为傅里叶描述子。当取到足够阶次的系数项z(k)时,傅里叶描述子能够完全提取形状

2021-03-01 16:00:11 992 1

原创 OpenCV之查找并绘制最大轮廓及绘制轮廓的外接矩形

在上一篇文章:OpenCV之轮廓查找与绘制(findContours和drawContours函数详解)中,详细介绍了利用OpenCV进行轮廓的查找与绘制,但是实战中发现,我们经常需要绘制最大轮廓(主要目的是将小轮廓等噪声去除)以及绘制轮廓的外接矩形。下面这篇文章详细介绍一下如何绘制最大轮廓自己绘制轮廓的外接矩形。目录一、查找并绘制最大轮廓二、绘制轮廓的外接矩形2.1 minAreaRect函数详解2.2 代码示例一、查找并绘制最大轮廓二、绘制轮廓的外接矩形2.1 minAreaRect函数详解m

2021-02-19 20:31:32 554

原创 OpenCV之轮廓查找与绘制(findContours和drawContours函数详解)

目录一、基本概念二、findContours函数详解三、代码示例四、drawContours函数详解五、代码示例六、详细解释6.1 修改参数mode为CV_CHAIN_APPROX_NONE(只检测最外层轮廓)一、基本概念二、findContours函数详解函数原型:findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray hierarch

2021-02-03 19:58:41 188 1

原创 OpenCV与C++函数分文件编写——如何设置调用参数为Mat类的函数分文件编写(Mat类实参如何传给子函数)

在实际应用开发中,由于项目很大,我们往往需要进行函数的分文件编写。函数分文件编写可以让代码结构更加清晰易读。函数分文件编写主要包括四步:创建后缀名为.h的头文件创建后缀名为.cpp的源文件在头文件中写函数的声明在源文件开头包含头文件#include"XX"比如来看一个示例:swap.h:(.h头文件放到Visual Studio的头文件中)swap.cpp:(子函数,放在Visual Studio的源文件中)主函数:(主函数,也放在Visual Studio的源文件中)通过一个

2021-02-02 19:43:51 83

原创 OpenCV之直方图绘制(calcHist函数详解)

目录1.直方图的定义2.calcHist()函数说明3.绘制直方图3.1 读取原图像并检查图像是否读取成功3.2 定义直方图参数并计算直方图3.3 绘制直方图4.关于BGR直方图的绘制4.1 读取原图像并检查图像是否读取成功4.2 分通道显示4.3 分B,G,R计算直方图4.4 绘制直方图1.直方图的定义要理解直方图,绕不开“亮度”这个概念。人们把亮度分为0到255共256个数值,数值越大,代表的亮度越高。其中0代表纯黑色的最暗区域,255表示最亮的纯白色,而中间的数字就是不同亮度的灰色。人们还进一步把

2021-02-02 17:23:09 424

原创 OpenCV入门之常见错误整理(持续整理)

初学一门技术,肯定会遇到各种各样的问题,这里把我初学时遇到的问题进行整理并给出解决方案,希望能够对大家有所帮助。1.CV_DbgAssert(CV_ELEM_SIZE1(traits::Depth<_Tp>::value) == elemSize1());处出现未经处理的异常错误如图所示:源代码:这里错误的主要原因是利用Mat类建立的src对象是8位无符号uchar类型,而利用at访问的确实int类型,类型出错导致程序报错。修改方案:将int改为uchar,即:ok,程序正常

2021-01-29 11:58:15 51

mingw-w64-install.exe

exe可执行文件,详情可参考博客:https://blog.csdn.net/didi_ya/article/details/111240502

2020-12-15

利用BP神经网络进行非线性系统辨识.m

利用BP神经网络进行非线性系统辨识详细MATLAB代码,详情可参考文章:https://blog.csdn.net/didi_ya/article/details/117520138

2021-06-03

LeNet-5.py

卷积神经网络LeNet-5的pytorch代码实现,关于详细内容,可以参考博客:https://blog.csdn.net/didi_ya/article/details/108317958

2020-09-03

利用SVM进行手写数字识别.zip

本程序有三个cpp文件,main.cpp为测试文件;prepare.cpp为预处理文件;train_SVM为SVM的训练文件。详情可参考博客:https://blog.csdn.net/didi_ya/article/details/114362904

2021-03-04

minGW-w64.zip

MinGW-w64 离线版,下载压缩文件并解压到合适的位置,在系统环境变量添加\bin目录,即安装完成。此时,可以验证安装。运行CMD或者Windows PowerShell,测试一下是否可用。命令:gcc -v 成功。

2020-03-13

tdm64-gcc-9.2.0.exe

当MATLAB遇到error:错误使用mex:未找到支持的编译器或SDK,您可以安装免费提供的MinGW-w64 C/C++编译器。当遇到这个error时,请安装这个。

2020-03-13

基于C++,OpenCV3以及SVM的MNIST手写数字识别

基于C++,OpenCV3以及SVM的MNIST手写数字识别,亲测可运行,关于详细内容可参考博客:https://blog.csdn.net/didi_ya/article/details/114572209

2021-03-08

4.基于知识库的手写体数字识别.zip

利用知识库识别手写体数字,详细内容可参考博客:https://blog.csdn.net/didi_ya/article/details/115365798

2021-04-01

BP神经网络系统辨识及自适应控制MATLAB代码

BP神经网络系统辨识及自适应控制MATLAB代码,值得一看

2021-06-03

instacart-market-basket-analysis.zip

探究用户对物品类别的喜好细分降维案例中需要的数据。该压缩包包括products.csv、order_products__prior.csv、orders.csv、aisles.csv等数据。除此之外,还包括利用PCA降维的python程序。

2020-07-31

usedata.mat

通过几道习题对MATLAB基础知识进行知识点加深理解,本资源为第一道题的mat文件,需要的直接免费下载,详情可参考博客:https://blog.csdn.net/didi_ya/article/details/109203651

2020-10-21

深度自编码器的Keras实现

深度自编码器:把自编码器叠起来,资源为其Keras实现,详情可以参考博客:https://blog.csdn.net/didi_ya/article/details/117120829

2021-05-21

基于MATLAB的系统辨识工具箱介绍.zip

本文主要介绍了基于MATLAB的系统辨识工具箱,这个工具箱是一个处理离散采样数据,主要用最小二乘结构模型来进行辨识的一个软件包。它的结构设计比较合理、清晰、可扩展性好,因此为很多辨识理论研究者所采用,特别适合控制类专业人员使用。

2021-04-11

RaiDrive_2020.11.38.exe

RaiDrive最新版,有需要的可以下载

2021-02-13

获取rice个数.zip

利用MATLAB获取图像rice.png中米粒个数,压缩包内包含rice.gif以及rice.m文件,主要原理也可参考博客:https://blog.csdn.net/didi_ya/article/details/114476476

2021-03-07

对MNIST数据集进行转换.zip

利用MATLAB将MNIST数据集转换为bmp图片和txt文档,以满足读取需要。包括对mnist数据图片中训练图片、训练图片标签、测试图片、测试图片标签的转换,详情可参考博客:手写数字识别问题(1)——关于MNIST数据集(https://blog.csdn.net/didi_ya/article/details/105075859) (在对标签label进行转换时,可能会出现乱码,如果出现乱码,请将21行修改为fid2 = fopen(OutFile,'wt');即加一个t就好了)

2020-03-24

visdom-master.zip

visdom库的相关文件,详细内容可参考博客https://blog.csdn.net/didi_ya/article/details/108364679

2020-09-02

自动化/控制类专业英语演讲ppt+演讲稿

该压缩包为自动化/控制类专业英语演讲ppt+演讲稿,适用于自动化/控制等专业英语演讲需求,内容为GAN生成对抗网络。关于详细信息可参考我的博客。

2020-10-15

OnetasticInstaller.x64.exe

Onetastic是Microsoft OneNote的多功能插件。宏是小型程序,可用于在OneNote中快速执行简单的重复性任务。这个想法类似于使用VBA语言的其他Office应用程序中的宏。OneNote不支持VBA,Onetastic加载项提供了一种简单的宏语言和一个用于构建宏的编辑器。这是一个64位的

2020-07-24

MATLAB GUI界面之动态创建控件

在GUI界面中动态创建控件

2021-04-30

CycleGAN的Keras实现

CycleGAN的Keras实现代码。CycleGAN 是一种无需成对示例便可自动进行图像到图像转换的技术。这些模型是采用一批无需关联的来自源域和目标域的图像,以一种无监督的方式训练的。

2021-04-26

MATLABGUI设置快捷键.zip

利用MATLAB的GUI界面设置快捷键

2021-04-23

Lecun1998.pdf

手写数字识别学术界巅峰之作论文,《Gradient-Based Learning Applied to Document Recognition》,利用LeNet-5网络进行手写数字识别,值得参考

2020-04-08

FontCreator9.0.zip

FontCreator是一个强大的字体编辑软件,可以帮助你轻松制作或者修改TrueType字体,制作好的字体或修改好的字体能够让你储存和使用,对于广大的字体修改爱好者来说这是一个莫大的福音,它大幅降低了字体修改的入门难度!

2020-07-24

Visdom安装失败解决办法2

这是visdom安装失败的第二种解决方案,关于第一种解决方案以及详细使用步骤,可参考博客:https://blog.csdn.net/didi_ya/article/details/108364679

2020-09-02

msyh字体.otf

关于onenote的字体设置,详细信息请参考博客https://editor.csdn.net/md?articleId=107733540

2020-08-01

查找并绘制最大轮廓.cpp

利用OpenCV查找检索并绘制最大轮廓的C++代码示例,详情可参考博客:https://blog.csdn.net/didi_ya/article/details/113863388

2021-02-20

Linux命令大全(修改版) chm

Linux命令大全(修改版) chm 手册

2021-04-05

DCGAN生成对抗网络.zip

利用DCGAN生成对抗网络实现三通道彩色图像(花朵)的生成

2021-03-29

Pdg2Pic.zip

pdg2pic,专门用于转换pdg格式,而无需下载超星阅读器即可快速读pdg文件,简单方便,十分实用。

2020-03-21

VMware workstation10.zip

VMware-workstation-full-10,详情可参考博客https://blog.csdn.net/didi_ya/article/details/107727518。

2020-08-01

绘制最小外接矩形.cpp

绘制轮廓的最小外接斜矩形,最小外接正矩形,最小外接圆,并将结果输出到原图像上,可参考博客:https://blog.csdn.net/didi_ya/article/details/113863388

2021-02-19

nsis-3.05-setup.exe

nsis工具,专门用于压缩包密码解压的工具,可以自由解压,无须担心有无密码,十分方便快捷,好用。可以下载来试一下。

2020-03-21

彩色直方图绘制.cpp

OpenCV直方图绘制C++程序,关于详细信息可参考博客:https://blog.csdn.net/didi_ya/article/details/113556309

2021-02-02

calcHist.cpp

OpenCV直方图绘制C++程序,关于详细信息可参考博客:https://blog.csdn.net/didi_ya/article/details/113556309

2021-02-02

2020年双十一装机电脑配置推荐.pdf

2020年双十一装机电脑配置推荐,包含从CPU,GPU到机械键盘,鼠标等所有装机需要的配置推荐,性价比极高。

2020-11-17

双十一笔记本选购指南.pdf

2020年双十一购机推荐,从2500元价位到20000元价位均有推荐,详情可参考博客:https://blog.csdn.net/didi_ya/article/details/107178776

2020-11-15

STM32CubeMX.zip

STM32CubeMX,即STM32开发环境,包括windows版本,linux版本以及mac版本,注意由于cube是用java编写的,因此安装时需要较新的java环境。

2020-10-05

python相关IDE文件

这是Ubuntu版本必装的IDE,下载前相关问题可参考博客https://blog.csdn.net/didi_ya/article/details/108321641

2020-08-31

利用python转换MNIST.zip

本代码使用python的open()和struct.unpack_from()函数操作,将MNIST手写数据集转化为bmp文件和txt文件,读者可根据需要,将其转化为函数以方便读写。详情可参考博文:手写数字识别问题(1)——关于MNIST数据集(https://blog.csdn.net/didi_ya/article/details/105075859)

2020-03-25

空空如也

空空如也

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

TA关注的人 TA的粉丝

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