自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奋斗丶的博客

社会上容纳不了太多有理想的人

  • 博客(103)
  • 资源 (5)
  • 收藏
  • 关注

原创 汽车车牌识别系统(五)--项目代码实现

这是我的毕业设计,虽然最后的实验结果不太理想,但是应付毕业论文应该是足够了。项目我已上传至资源,大家自行下载。

2020-11-03 21:13:09 650 16

原创 汽车车牌识别系统实现(四)--字符识别+代码实现

字符识别一、字符识别算法的实现车牌字符识别是车牌识别中的最后一步,也是决定车牌识别成功与否的关键步骤。字符识别是对经过车牌定位、车牌纠正和车牌字符划分后得到的各个车牌字符进行识别的过程。字符识别利用BP反馈神经网络对字符进行识别。BP反馈神经网络是一种基于误差反向传播的神经网络,它不同于传统的神经网络,传统的神经网络采用数值微分法计算梯度以使损失函数达到最小值,这种做法虽然原理简单且容易实现,但计算较费时,而BP神经网络采用误差反向传播的方法,该方法较数值微分法更为高效。所以本文采取比数值微分法高效的B

2020-11-03 21:08:00 2267 3

原创 汽车车牌识别系统实现(三)-- 车牌矫正+字符分割+代码实现

阿萨阿萨

2020-10-25 11:05:14 3631 8

原创 汽车车牌识别系统实现(二)--车牌定位+代码实现

汽车车牌识别系统实现(二)-- 车牌定位前言本人大四计算机视觉处理方面菜鸟一枚,因个人兴趣和毕设的缘故,故而想学习计算机视觉方面的内容,有不正确的地方还等各位大神批评指正。图像预处理照相机获取到汽车车牌图像时,绝大多数情况下,图像里只存在一个车牌的情况是不太现实的,一幅图像里存在建筑物、树、其它汽车等等是很正常的;而且绝大多数都会存在噪声点,这种情况下就会对车牌定位和识别造成极大程度的干扰...

2020-03-09 18:25:10 2544 14

原创 汽车车牌识别系统实现(一)–车牌识别的步骤

汽车车牌识别系统实现(一)–车牌识别的步骤怎么接触到计算机视觉的?毕业设计不知天高地厚的、茫然的选择了汽车车牌识别系统系统的实现,写开题报告的时候,快难哭了;但是最近发现越来越喜欢计算机视觉了,好吧,我承认我有毒。。。通过写博客的方式,记录以下学习过程,本人大学菜鸟一枚,有错误或者是需要完善的地方,烦请各位大神指正批评!汽车车牌识别的步骤图像缩放处理预处理高斯平滑中...

2020-02-27 21:34:47 2547

原创 考研高等数学上下册归纳总结思维脑图(超详细)

数二思维脑图有需要的考研同学可以看一下!超详细,看完之后,高数的体系结构一清二楚!在这只上传一张图,详细内容可到我的网盘中下载查看!链接:https://pan.baidu.com/s/1etNSeA8vtQKzleTLkHufkA提取码:5ndl...

2019-04-13 09:41:19 20959 19

原创 Java8--Lambda表达式对List集合操作

一、利用stream().forEach()遍历集合 List<String> list = new ArrayList<String>(); list.add("djk"); list.add("djk1"); list.add("djk12"); list.add("djk123"); //利用stream().forEach(

2018-11-15 11:45:59 20339 5

原创 随笔(一)-- Jupyter Notebook如何切换主题、更改字体大小

自从用了Jupyter之后,视力是一天不如一天,究其原因是jupyter默认的字体实在是太小了,默认的主题也是不够炫酷,对于程序员来说,一个好看的主题甚至是背景都会给我们注入动力,例如以下背景,看着就非常的得劲,代码效率也会大幅度提高!有了这种主题,妈妈再也不用担心我敲代码,再也不用担心掉头发了 !言归正传,那么如何来个性化jupyter呢,请跟着我一块看下去吧!步骤:1.首先需要下载安装jupyterthemespip install --upgrade jupyterthemes2.

2021-05-16 17:39:01 4

原创 PyTorch基础(13)-- torch.nn.Unfold()方法

一、方法详解方法torch.nn.Unfold(kernel_size, dilation=1, padding=0, stride=1)parameterskernel_size (int or tuple) – 滑动窗口的sizestride (int or tuple, optional) – 空间维度上滑动的步长,默认步长为1padding (int or tuple, optional) – implicit zero padding to be added

2021-05-13 11:12:48 6

原创 PyTorch基础(12)-- torch.nn.BatchNorm2d()方法

Batch Normanlization简称BN,也就是数据归一化,对深度学习模型性能的提升有很大的帮助。BN的原理可以查阅我之前的一篇博客。白话详细解读(七)----- Batch Normalization。但为了该篇博客的完整性,在这里简单介绍一下BN。一、BN的原理BN的基本思想其实相当直观:因为深层神经网络在做非线性变换前的激活输入值(就是那个x=WU+B,U是输入)随着网络深度加深或者在训练过程中,其分布逐渐发生偏移或者变动,之所以训练收敛慢,一般是整体分布逐渐往非线性函数的取值区间的上下限

2021-05-06 16:01:13 33 2

原创 异常解决(一)-- RuntimeError: expected device cpu but got device cuda:0

最近在编写深度学习的相关代码,基于PyTorch,运行程序的时候,报错,报错内容如下所示:RuntimeError: expected device cpu but got device cuda:0归根结底,这个错误出现的主要原因是GPU类型的数据和CPU类型的数据不匹配。了解了错误的本质原因,那如何解决就非常简单了。首先,需要分析大环境是在GPU上还是在CPU上,然后在出错的位置更改。无非就两种情况,分别如下:1.将数据改为GPU支持的类型data.cuda()2.将数据改为

2021-04-29 12:02:40 38

原创 Python实例 -- 如何快速获取列表中最大的三个元素

如何快速获取列表中最大的三个元素最近在做实验,期间需要在一个列表中获取最大的三个元素,自己写的方法复杂度太高,放上大牛的方法,复杂度很低。多看几遍,才能体会到大概的精髓。这道题也是Python的面试题,在牛客网上刷到的!def FindList3MaxNum(ls): # 快速获取list中最大的三个元素 max1, max2, max3 = None, None, None for num in ls: if max1 is None or max1 < num

2021-04-27 10:59:07 22

原创 详解Python第三方库(三)----- Pillow库

一、简介及安装Pillow1.1 简介PIL:Python Imaging Library,已经是Python平台上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用,因此广受开发人员的使用。由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本Pillow,支持最新Python 3.x,并且又加入了许多新特性,这使得Pillow又焕发了生机!1.2 安装Pillowpip install pillow二、Pillow库的基础用法2

2021-04-26 18:43:19 112 4

原创 备考信息系统项目管理师-----Day2

一、信息系统的生命周期(掌握)可划分为4大部分:立项->开发->运维->消亡可划分为5小部分:系统规划->系统分析->系统设计->系统实施->运行维护1.立项阶段对应5小部分中的系统规划任务:确定信息系统的发展战略,对建设新系统的要求做出分析和预测,写成可行性报告2.开发阶段对应5小部分中的:系统分析:确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型系统设计:具体设计实施逻辑模型的技术方案,即设计新系统的物理模型系统实施:将设

2021-04-21 14:51:33 17

原创 PyTorch基础(11)----- torch.sum()方法

方法1详解torch.sum(input, *, dtype=None) → Tensorinput:输入的张量案例x = torch.randn(1, 3)print(x)y = torch.sum(x)print(y)方法2详解torch.sum(input, dim, keepdim=False, *, dtype=None) → Tensorinput:输入的张量dim:求和的维度,如果dim=1,则按行求和;如果dim=0,则按列求和keepdim:默认为Fa

2021-04-15 11:25:43 37

转载 解惑(四)----- contiguous()方法的理解

最近遇到这个函数,但查的中文博客里的解释貌似不是很到位,这里翻译一下stackoverflow上的回答并加上自己的理解。在pytorch中,只有很少几个操作是不改变tensor的内容本身,而只是重新定义下标与元素的对应关系的。换句话说,这种操作不进行数据拷贝和数据的改变,变的是元数据。这些操作是:narrow(),view(),expand()和transpose()举个栗子,在使用transpose()进行转置操作时,pytorch并不会创建新的、转置后的tensor,而是修改了tens

2021-04-14 21:02:21 19

原创 备考信息系统项目管理师-----Day1

今天主要分享第1章的1.1小节的5个考点,以及每个考点是怎么个考法!1、Problem 1 信息质量属性(掌握)- 1.精确性:对事物状态描述的精确程度- 2.完整性:对事物状态描述的全面程度、完整信息应包括所有重要事实- 3.可靠性:指信息的来源、采集方法、传输过程是可信任的,符合预期- 4.及时性:指获得信息的时刻与事件发生时刻的间隔长短- 5.经济性:指信息获取、传输带来的成本在可以接受的范围之内- 6.可验证性:指信息的主要质量属性可以被证实或伪造的程度- 7.安全性:指在信息的生命

2021-04-13 19:16:47 15

原创 Python实例 -- 如何将.npy文件转换为图片

为了节省空间,有时会将.jpg文件转换为.npy文件,这样便于存储,然后需要图片的时候,再将其转为.jpg文件,这个过程是如何实现的呢?为了演示这个案例,我们分为2步。第1步:将.jpg文件保存为.npy文件import PILfrom PIL import Imagepath = './example.jpg' # # 将其保存为.npy文件image = Image.open(path)image = image.resize((342, 256))image = np.array(

2021-04-12 16:18:47 197

原创 手把手带你撸深度学习经典模型(一)----- UNet

一、前言经过慎重考虑,决定新开一个系列,该系列文章主要的目的就是利用PyTorch、Python实现深度学习中的一些经典模型,接下来一段时间的安排如下:UNetResNetVggNetAlexNet本文首先实现UNet,关于UNet的详细介绍请移步深度学习模型解析系列文章–白话详解UNet二、网络结构详解UNet总体上分为编码器和解码器,其中编码器负责提取特征信息,解码器负责还原特征信息;编码器主要由4个块组成,每个块分别由2个卷积层、1个最大池化层组成。解码器也是由4个块组成,每个块

2021-04-06 16:44:38 55

原创 PyTorch基础(十)----- torch.max()方法

一、前言这个方法跟上一篇文章的torch.max()方法非常类似,只不过一个是求最大值,一个是求平均值。在某些情况下,甚至可以代替下采样中的最大池化和平均池化,所以说,这两个方法的用处还是蛮大的。torch.max() <->torch.nn.MaxPool2d()torch.mean() <->torch.nn.MeanPool2d()二、方法详解torch.max(input, dim, keepdim=False, *, out=None) -> (Tenso

2021-04-04 15:23:58 56

原创 PyTorch基础(九)----- torch.mean()方法

一、方法详解含义:顾名思义,返回一个Tensor的均值torch.mean(input, dim, keepdim=False)input:输入的张量dim:求均值的维度,若dim = 0,则沿行求均值;若dim=1,则沿列求均值keepdim:输出张量是否跟输入张量的另一个维度相同这个用言语很难说明白,我们直接通过案例来理解掌握!二、案例案例1import torchx = torch.randn(4, 4)print(x.size())y = torch

2021-04-02 11:15:09 38

原创 PyTorch基础(八)----- torch.split()方法

一、方法详解含义:将一个张量分为几个chunkstorch.split(tensor, split_size_or_sections, dim=0)tensor:要分的张量split_size_or_sections:如果该项参数的值为一个int类型的value值,那么该方法会将tensor划分为同等数量的张量;如果tensor的size沿着给定的不能整除split_size,那么最后一个chunk相较于其它chunk小;如果是一个list列表,该方法会将tensor划分为len(s

2021-04-01 16:18:45 97 2

原创 PyTorch基础(七)----- torch.nn.AdaptiveAvgPool2d()方法

一、方法简介方法含义:对张量应用一个自适应的平均池化,只需要输入输出的size即可。- torch.nn.AdaptiveAvgPool2d(output_size)参数及注意事项- 1.out_size可以是一个value值,也可以是一个元组(X,Y);- 2.如果是一个value值,则代表输出是一个方形的,其实等价于(X,X);- 3.如果是一个元组,则X,Y可以是一个int值,也可以是None;- 4.如果是None,则代表输出与输入位置的值相同;二、案例1

2021-03-29 20:50:37 93

原创 PyTorch基础(六)----- torch.eq()方法

一、torch.eq()方法详解对两个张量Tensor进行逐元素的比较,若相同位置的两个元素相同,则返回True;若不同,返回False。torch.eq(input, other, *, out=None)Parameters(参数):input :必须是一个Tensor,该张量用于比较other :可以是一个张量Tensor,也可以是一个值valuereturn(返回值):返回一个Boolean类型的张量,对两个张量Tensor进行逐元素的比较,若相同位置的两个元素相同,则返回Tr

2021-03-26 20:20:49 108

原创 PyTorch基础(五)----- torch.cat()方法

cat是concatnate的缩写,concatnate的含义拼接,深度学习模型中最为常见的是通道拼接。一、普通用法dim = 1:表示将张量A、B按照维数1进行拼接,换句话说,就是按照列进行拼接torch.cat((A,B),dim = 1)案例1x = torch.randn(3, 4)y = torch.randn(3, 2)print(x, x.size())print(y, y.size())z = torch.cat((x, y), dim = )print(z,

2021-03-26 19:39:44 40

原创 基于OpenCV的银行卡号识别系统实现(三)-----输入图像的处理+代码实现

一、前言随着移动互联的发展,商业移动应用越来越多,这些商业移动应用很多涉及到个人银行卡账户的绑定,实际测试中手动输入16—19位银行卡号码,速度慢,易出错,用户体验非常差。为了提高在移动终端上输入银行卡号的速度和准确性准备自己动手实现一个银行卡号识别系统,这样便可自动识别银行卡号。书接上文,上文提到如何对模板图像进行处理,本文继续讲解对输入图像如何处理以及具体的代码实现,代码我会给出相应的注释,以便大家能够看懂,希望大家学习愉快,在评论区多多互动,如果能点赞支持就更好了!首先在这里简单说一下银行卡号识别

2021-03-24 16:00:31 186

原创 基于OpenCV的银行卡号识别系统实现(二)----- 模板图像的处理+代码实现

一、前言上一篇文章总结了银行卡号识别的大概步骤,这篇文章着重介绍模板匹配法,以及如何处理模板的详细步骤及代码实现。模板图像详细步骤二、模板匹配法详解三、代码实现项目目录首先,导入相关包from imutils import contoursimport numpy as npimport argparseimport cv2import myutils添加运行参数''' template:表示模板 image:表示输入图像'''#

2021-03-22 21:04:28 123

原创 Python实例--遍历文件夹下所有的文件或文件夹

一、前言最近在跑深度学习的网络模型,跑通代码的前提是要读取数据集,众所周知,深度学习的数据集是非常庞大的,动辄就几个G,想要一个一个的输入无疑是天方夜谭,因此,利用Python遍历数据集就显得非常重要了。同时我对遍历数据集的操作还不太熟悉,于是在此记录一下!一般有2种情况,第一种是文件夹中只有文件时,这种情况比较简单;第2种是文件夹中既有文件又有文件夹时。首先,我们需要导入os这个必要的模块。import os二、文件夹内只有文件时当目标文件夹中只有文件时,使用os模块的listdir(path)

2021-03-22 00:29:48 87

原创 基于OpenCV的银行卡号识别系统实现(一)----- 银行卡号识别步骤

一、前言之前毕业设计选题的时候,在两个题目之间徘徊,一个是车牌识别系统,另外一个就是今天的主题银行卡号识别系统,思考良久,还是决定将它做出来,不仅会对加深在计算机视觉方面的理解,也会巩固自己学习过的知识。话不多说,进入正题。二、银行卡号识别的步骤首先,我先说明一下大致的思路。我用到的方法是相对简单的模板匹配法,什么是模板匹配法呢?之后会进行详细的讲解。...

2021-03-20 14:01:30 284 2

原创 详解PyTorch可视化工具visdom(一)

一、介绍在深度学习领域,模型训练是一个必须的过程,因此常常需要实时监听并可视化一些数据,如损失值loss,正确率acc等。在Tensorflow中,最常使用的工具非Tensorboard莫属;在Pytorch中,也有类似的TensorboardX,但据说其在张量数据加载的效率方面不如visdom。visdom是FaceBook开发的一款可视化工具,其实质是一款在网页端的web服务器,对Pytorch的支持较好。二、如何安装及启动2.1 安装安装命令pip install visdom安装

2021-03-18 15:49:10 278 6

原创 白话详细解读(七)----- CBAM:Convolutional Block Attention Module

一、CBAM简介论文链接:https://x.sci-hub.org.cn/scholar?hl=zh-TW&as_sdt=0%2C5&q=CBAM%3A+Convolutional+Block+Attention+Module&btnG=&oq=CBCBAM这篇论文是在2018年提出的,自提出之后,已经被引用上千次,可见其影响力。CBAM是一种专门为了卷积神经网络而设计的注意力模块,传统的卷积存在只关注局部信息,而往往忽略全局信息的弊端,以3*3卷积为例,滤波器有9个

2021-03-15 21:21:07 171

原创 详解Python第三方库(二)----- argparse模块

一、argparse简介argsparse是python的命令行解析的标准模块,内置于python,不需要安装。这个库可以让我们直接在命令行中就可以向程序中传入参数并让程序运行。此库也是深度学习必学的众多库之一,包括上一篇的tqdm进度条库,以及之后介绍的Numpy、Pandas库等等,废话不多说,所以让我们静下心来一块学习吧!二、argparse学习首先,我们需要导入,非常简单import argparse它的使用方法也比较固定,无非就是以下3步:(1).创建ArgumentPars

2021-03-12 20:40:37 65

原创 白话详细解读(六)----- BiSeNet: Bilateral Segmentation Network for Real-time Semantic Segmentation

论文简介论文链接:https://openaccess.thecvf.com/content_ECCV_2018/html/Changqian_Yu_BiSeNet_Bilateral_Segmentation_ECCV_2018_paper.html创新点

2021-03-12 11:35:22 63

原创 Linux基础(一)----- Linux常用命令

最近要在服务器上跑实验,发现自己对Linux的相关了解非常少,只知道一些非常简单的命令;因此,决定从新学习以下Linux的相关知识,那就从Linux的常用命令开始吧!ls命令cd命令pwd命令rm命令rmdir命令mv命令cp命令cat命令more命令less命令mkdir命令touch命令...

2021-03-10 22:15:50 49

原创 如何用Python写一个Package

首先我需要描述一下要做的这件事情。假定我们有2个类,分别为Person类、Stu类,我们要将这2个类分装成一个包,就是这么简单,那么废话不多说,让我们操作起来。第1步.建立一个Package,命名为Demo1右击项目名->new->Python Package第2步.在Demo1包下创建Person类class Person: def __init__(self,name,gender): self.name = name self.gend

2021-03-09 21:10:30 125

转载 解惑(一) ----- super(XXX, self).__init__()到底是代表什么含义

好文不应该被埋没,应该被更多的人所熟知!!!转载:https://blog.csdn.net/zyh19980527/article/details/107206483/相信大家在很多场合特别是写神经网络的代码的时候都看到过下面的这种代码:import torchimport torch.nn as nnimport torch.nn.functional as Fclass Net(nn.Module): def __init__(self): super(Net

2021-03-09 10:03:07 707

原创 问:一行Python代码到底能干多少事情?(三)

今天来继续分享一行Python代码可以完成的事情!建议收藏,这真的很有用!!!一、Lambda表达式传入1个参数的Lambda表达式p = lambda x:x**2print(p(3))传入2个参数的Lambda表达式p = lambda x,y:x*(y**2)print(p(3,4))传入多个参数的Lambda表达式p = lambda x, y, z: x * y * zprint(p(1, 2, 3))二、检查列表中数字的存在示例ls = [1,2,

2021-03-08 21:06:56 42

原创 关于ISIC数据集如何下载的问题

前言这学期开始撸代码,在把代码看的差不多准备跑代码的时候,发现训练数据集、测试数据集以及验证数据集都没有,于是我准备从官网上下载ISIC 2018、ISIC 2019的数据集,结果总是报错,如下图所示。然后上网查阅相关的博客,都整理的挺好https://zhuanlan.zhihu.com/p/102855802,但是给的下载链接还是我从官网上找的这些链接,根本不管用!!!!于是,决定还是靠自己,写这篇文章的目的在于帮助一些刚开始撸代码,对一些开源的数据集还不熟悉的新同学,相信我,在下载数据集这个环节

2021-03-08 20:36:56 259

原创 问:一行Python代码到底能干多少事情?(二)

这篇优美简洁的Python主要介绍2种写法,会大大节省写代码的时间成本,提升自己的Python编写水平。一、快速的创建一个列表示例1:快速的创建一个列表 ls = [i for i in range(0,10)] print(ls)示例2:当然我们也可以利用这种方式来快速的创建一个字符串列表 lst_str = [('hi '+i) for i in ['dongjk','ki','fi']] print(lst_str)二、计算列表中偶数的和 ls =

2021-03-05 15:56:56 39

原创 详解Python第三方库(一)-----tqdm库

简介显示循环的进度条的库。taqadum在阿拉伯语中的意思是进展。tqdm可以在长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator),是一个快速、扩展性强的进度条工具库。首先,我们导入tqdm库、time库、random随机数库from tqdm import tqdm,trangeimport timefrom random import random,randint基于迭代对象运行示例1for i in trange(100): tim

2021-03-04 16:33:24 50 4

汽车车牌识别系统项目(代码实现)

这是我的毕业设计,虽然最后的实验结果不太理想,但是应付毕业论文应该是足够了。项目我已上传至资源,大家自行下载。

2020-11-03

汽车车牌识别系统整套资源.zip

该资源包括汽车车牌识别系统的全部内容,主要有以下:汽车车牌识别系统的可运行代码、汽车车牌识别系统的开题报告、汽车车牌识别系统的中期检查、汽车车牌识别系统的论文、汽车车牌识别系统论文的查重检测报告,查重率为7.8%。

2021-03-06

基于神经网络的车牌识别算法训练集

车牌识别算法的训练数据集,每个字符大约有500~800张不等,每张字符图片的像素大约是28*28,用dropout等正则化避免过拟合的话,训练集是足够的。

2020-11-07

基于OpenCV的银行卡号识别系统.zip

本系统的主要思想是利用模板匹配法对银行卡号进行识别。

2021-03-21

重庆邮电大学专业课数据结构题集

自己是2019年考重庆邮电大学的,但很遗憾没有考上,虽然初试过了20分,但复试最后还是被刷掉了,非常不甘。把自己买的资料分享出来,供各位学弟学妹使用。

2020-10-20

空空如也

空空如也

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

TA关注的人 TA的粉丝

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