自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 【数据结构】列表实现括号匹配

字符串匹配栈的经典题目,根据其先进后出的特点,实现括号的匹配def match(str): ''' str : 输入包含括号的字符串 ''' match_str ={'}':'{',']':'[',')':'('} new_li =[] for s in str: if s in ['(',"[","{"]: new_li.append(s) else: if len(new_

2021-05-23 16:46:28 242

原创 【数据结构】常见面试题之排序篇

1. 二分查找法def bin_serch(x,val): ''' x:带查找列表 val:目标元素 return: 目标元素的索引 ''' left=0 right=len(x)-1 while left <=right: mid = (left + right) // 2 if x[mid] ==val: return mid elif x[mid]> v

2021-05-22 14:51:17 385

原创 【LeetCode】LeetCode刷题--简单题(1)

为了记录已经做过的leetcode题目,因此简单的记录了代码及解释我的做题顺序是先简单后难,先面试热门题目后一般1. 两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。思路:遍历数组中的元素定义num2为 target - nums[i],即另外一个整数判断num2是否在nums中,并输出其索引值判断num2索引值与另外一个元素是否相同,

2020-07-17 22:13:02 516

原创 【YOLO】自己制作VOC数据集

一、数据集文件夹自己按照VOC2007的格式创建文件夹VOCdevkit,然后内部再创建VOC2007文件夹,此文件夹里面存放Annotations、ImageSets、JPEGImage、SegmentatinClass、SegmentationObject这五个文件夹,其中,Annotations存放标记后的XML图片文件,ImageSets里面包括三个文件夹,分别是Layout、Main、Segmentation(我只考虑了图片分类问题,因此只需要创建Main文件,Main文件包括的是txt文件)J

2020-07-03 09:38:09 1583 1

原创 【PyTorch】PyTorch搭建神经网络处理图片分类的完整代码

一个完整的处理图片分类的代码,包括以下几部分:导入需要的库,数据预处理,搭建神经网络模型,训练及测试,输出损失和正确率。导入库import torchimport torchvisionfrom torch.autograd import Variablefrom torchvision import datasets, transformsimport os # os包集成了一些对文件路径和目录进行操作的类import matplotlib.pyplot as pl

2020-06-18 07:26:57 19001 27

原创 【PyTorch】正则化:L1范数,L2范数,Dropout

正则化

2020-05-31 15:24:42 3841

原创 【PyTorch】基于PyTorch的多层感知机的实现

多层感知机多层感知机即在单层的神经网络中添加了一个隐藏层,简单的一个线性模型就是单层神经网络,而多层感知机是指大于一层的神经网络,在代码上与线性模型的区别就是网络模型构建时多添加一层隐藏层,其余步骤类似。代码部分1.导入库#使用多层感知机对fashion_mnist分类#导入库import torch import numpy as np import sysfrom torch import nnfrom torch.nn import initimport torchvision

2020-05-30 11:01:00 1305

原创 【PyTorch】基于PyTorch的线性回归

代码#导入库import torchfrom IPython import displayfrom matplotlib import pyplot as pltimport numpy as npimport random%matplotlib inline #jupyter notebook 需要添加,pycharm不需要#两个输入,设置1000个样本,真实权重true_w,真实偏置true_bnum_inputs = 2num_examples = 1000true_w =

2020-05-29 21:16:55 294

原创 【PyTorch】基于PyTorch的softmax分类Fanshion_MNIST数据集

Fashion-MNIST数据集介绍Fashion-MNIST是一个替代MNIST手写数字集的图像数据集。 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。Fashion-MNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28的灰度图片。你可以直接用它来测试你的机器学习和深度学习算法性能,且不需要改动任何的代码softmax介绍用来解决多分类问题,将输出的没一行中的

2020-05-29 16:10:44 513

原创 【优化算法】基于Python语言的梯度下降法、牛顿法、LM法

梯度下降法梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了算法步骤:利用梯度下降的方法求解步骤如下:1、求梯度2、向梯度相反的方向移动 ,其中, alpha为步

2020-05-13 21:12:17 2856 1

原创 【算法】基于OpenCV的Canny边缘检测算法

Canny边缘检测算子是John F. Canny于 1986 年开发出来的一个多级边缘检测算法。更为重要的是 Canny 创立了边缘检测计算理论解释这项技术如何工作。Canny边缘检测算法可以分为以下5个步骤:应用高斯滤波来平滑图像,目的是去除噪声找寻图像的强度梯度(intensity gradients)应用非最大抑制(non-maximum suppression)技术来消除边误检(本来不是但检测出来是)应用双阈值的方法来决定可能的(潜在的)边界利用滞后技术来跟踪边界Canny边缘检

2020-05-13 09:26:55 1162

原创 【数据结构】Python实现二叉树的遍历

二叉树的概念在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left ubtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个结点的二叉树,称为满二叉树。这种树的特点是每一层上的结点数都是最大结点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且或者最后一层是满的,或者是在右边缺少连续若干结点,则此二叉树为完全二叉树。具有n个结点的完全二叉树的深度floor(log2n)+1。深度为k的完全二

2020-05-10 09:05:02 372 1

原创 【数据结构】二分查找算法及其Python语言实现

二分查找概念二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列,其最优时间复杂度o(1),最坏时间复杂度o(logn)递归实现二分查找代码#二分法查找 每次取得中间值,并判断查找的值是否存在#递归形式 修改列表def binary_search(alist,item): """...

2020-05-05 18:21:37 231

原创 【数据结构】Python实现 冒泡、选择、插入、希尔、快速、归并排序算法

一、冒泡排序一个数组中相邻的两个数值进行比较,将较大的值放在后面,直到比较完所有数值后,找到了最大值放在数组的最后,在剩余的n-1个数值中依次执行这种操作,最终将数值从小到大排序。步骤:比较相邻的元素。如果第一个比第二个大,就交换他们两个对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数针对所有的元素重复以上的步骤,除了最后一个持续每次对...

2020-05-03 09:35:01 358

原创 【数据结构】Python实现栈和队列

栈遵循的原则是:先进后出。即先进去的是a1、a2…,先出来的是…an-1、an。基本操作#栈 先进后出class Stack(object): """创建一个新的空栈""" def __init__(self): self.__list =[] def push(self,item): """添加一个新的元素item到栈顶...

2020-05-01 14:28:32 453

原创 【相机标定】张正友相机标定技术

SIFT算法

2020-04-30 21:33:26 1320

原创 【数据结构】Python实现单链表、双链表及单向循环链表

单链表、双链表概述链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。其次,数据结构中的链表在面试中是常常被提问到的知识点,原理不是很难,但是有点绕,跟着Bilibili的视频自学了这部分内容,链接:BIlibili视频单链表:单向链表也叫单链表,是链表中最简单的一种形式,...

2020-04-30 21:14:43 260

原创 【菜鸟教程】Python 100例编程题--适合新手(5)

python 3.7 及jupyter notebook实现菜鸟教程100例习题81-100,共20道常用例题,推荐使用jupyter notebook IDE,方便每个题目单独执行

2020-04-28 20:55:50 1142

原创 【菜鸟教程】Python 100例编程题--适合新手(4)

python 3.7 及jupyter notebook实现菜鸟教程100例习题40-60,共20道常用例题,推荐使用jupyter notebook IDE,方便每个题目单独执行

2020-04-27 17:44:03 1094

原创 【菜鸟教程】Python 100例编程题--适合新手(3)

python 3.7 及jupyter notebook实现菜鸟教程100例习题40-60,共20道常用例题

2020-04-26 14:27:30 928

原创 【菜鸟教程】Python 100例编程题--适合新手(2)

python 3.7 及jupyter notebook实现菜鸟教程100例习题20-40,共20道常用例题21、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。x = 1 for i in range(9,...

2020-04-25 14:27:28 1653

原创 【菜鸟教程】Python 100例编程题--适合新手(1)

菜鸟教程100例题的解答,python 3.7及pycharm实现,可能代码并不是最简洁的,但一定通俗易懂,适合新手阅读。题目及代码如下:1.题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?for i in range(1,5): for j in range(1,5): for k in range(1,5): ...

2020-04-24 15:22:18 3772

原创 【算法】基于OpenCV的Harris角点检测算法

Harris角点检测算法特征点检测广泛应用到目标匹配、目标跟踪、三维重建等应用中,在进行目标建模时会对图像进行目标特征的提取,常用的有颜色、角点、特征点、轮廓、纹理等特征。Harris角点检测算法原理角点检测的几何定义:1、角点是图像灰度一阶导数所对应的最大值的位置;2、角点是图像中两条或两条以上边缘的交点;3、角点是图像中灰度变化最大的位置;4、角点位置的一阶导数最大,二阶导数为零...

2020-04-18 16:29:09 586

原创 【项目实战】基于python+pycharm+OpenCV的信用卡数字识别

一、pycharm实现参数配置直接运行程序会报错:usage: ocr_template_match.py [-h] -i IMAGE -t TEMPLATEocr_template_match.py: error: the following arguments are required: -i/–image1、找到如图所示位置,点击script parameters 进行参数设置2...

2020-04-17 14:57:12 3223 2

原创 【相机标定】传统相机标定技术-Tsai两步法

Tsai两步标定法Tsai说:在对摄像机进行标定时如果考虑过多的非线性畸变会引入过多的非线性参数,这样往往不仅不能提高标定精度,反而会引起解的不稳定,与线性模型标定类似,只是正交了,理想成像平面到实际成像平面之间的转换。因此,Tsai两步标定法只考虑了径向畸变,也是大多数情况下会存在的畸变类型。Tsai存在的弊端: 无法通过一个平面标定全部的外参数,涉及非线性运算可能使得结果不稳定。两步:...

2020-04-12 20:15:30 10358 5

原创 【相机标定】传统相机标定技术-直接线性DLT

DLT相机标定

2020-04-12 07:08:13 4810 1

原创 【相机标定】双目测距的原理

双目测距的原理个人理解双目摄像机由两个摄像机组成,利用三角测量原理获得场景的深度信息,重建周围的三维形状和位置,类似于人眼的体视功能。获得深度的作用:能够记录场景中物体距离摄像机的距离,可以用于测量、三维重建、以及虚拟试点的合成。双目测距原理:其中,depth = (f * baseline)/disparity,disparity为视差即xr-xt,baseline为俩相机中心距,f为...

2020-04-05 16:01:38 3881

原创 pytorch实现猫狗分类+数据集

PyTorch实现猫狗分类代码实现环境:python3.7,pytorch,jupyter notebook数据集: Kaggle网站猫狗分类数据集,训练集包括12500张猫和12500张狗,测试集为12500张猫狗无标签图片,我们需要把训练集的猫狗照片各取出2500张作为验证集。开始部分代码:导入一些必要的包,os包集成了一些对文件路径及目录进行操作的类,time包是一些和时间相关的方法...

2020-03-31 21:13:33 19734 11

原创 【安装教程】win10+GPU+pytorch安装教程

Windows10下GPU版本的Pytorch安装教程1.查看自己的显卡版本型号:打开显卡控制面板–左下角的系统信息–组件–查看自己的显卡支持的cuda版本型号2.下载cuda9.2版本的cuda官网下载:https://developer.nvidia.com/cuda-92-download-archive选择对应的版本型号如下,并点击download开始下载3.下载cudnn:...

2020-03-26 11:22:56 879 1

原创 【数字图像处理】冈萨雷斯--灰度变换和空间滤波

数字图像处理–灰度变换与空间滤波空间域处理图像主要包括两部分:灰度变换和空间滤波,灰度变换是在图像的单个像素上操作,主要以对比度和阈值为目的,空间滤波可用过像素的邻域处理来锐化图像。一、灰度变换图像变换的常用基本函数:线性函数(反转和恒等)、对数函数(对数和反对数变换)和幂律函数(n次幂和n次根),这些变换函数主要可用来图像增强。直方图处理:...

2020-03-17 20:58:22 431

原创 【数字图像处理】冈萨雷斯--数字图像基础

数字图像处理(冈萨雷斯)第3章

2020-03-16 10:09:22 547

原创 【数字图像处理】(冈萨雷斯MATLAB版)1-2章

数字图像处理(冈萨雷斯)1-2章我是一个刚刚接触CV的小白,对卷积神经网络、深度学习、python语言有一定的了解~ 买了经典的计算机视觉-算法与应用这本书,但是发觉实在是难啃,所以打算从数字图像处理的基础看起。第一章本章的主要内容是对MATLAB和图像处理的简单介绍,没有太难理解的东西,不做过多赘述。第二章本章主要介绍了MATLAB的一些基础用法,真的非常的基础,很适合入手。MATL...

2020-03-11 20:11:15 438

原创 Python 深度学习(第三章神经网络入门)

Python 深度学习-神经网络入门第一次写博客,也是刚刚接触神经网络的小白,所以想将自己的学习到的一点点知识分享给大家,同时也可以加深对神经网络的理解。欢迎大家提出宝贵的建议,我会努力改变做到更好,有不理解的可以随时私信,谢谢大家~详细信息语言:python框架:KerasIDE:jupyter notebook处理问题:电影评论分类(二分类)、新闻主题分类(多分类)、预测房价(回归...

2020-01-17 09:02:29 933

空空如也

空空如也

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

TA关注的人

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