自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用TensorFlow搭建卷积神经网络识别数字0~9

入门深度学习,用TensorFlow搭建卷积神经网络识别数字0~9,采用mnist数据集,参考了其它两三篇博客的内容。一些相关内容我写在代码注释里面了:import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, optimizers, datasets# 下面一行是在线加载方式获取mnist数据# mnist = tf.keras.datasets.mnist# 下面两行是加载

2020-11-27 23:41:16 1057

原创 C和C++:一个简单的小例题(统计键盘输入的学生成绩)

用键盘输入10个学生的成绩(用scanf函数),然后计算出这10个学生的平均成绩,并且输出低于平均分的学生的成绩。#include<stdio.h>int main(){ int n=0; //用于跟踪学生的人数 int i; float score; //输入学生的分数 float all[10]; //定义一个数组,用于保存所有输入学生的分数 float sum=0; //用于计算总成绩 float average; //平均分 while(n<10)

2020-11-23 18:20:47 1249

原创 Python爬虫:scrapy实战最简单基础的小例子(爬取全国热门城市)

本来打算爬取糗事百科里面的段子,但是程序报错了:ERROR: Spider error processing <GET https://www.qiushibaike.com/text/> (referer: None)由于一些笔记写在爬取糗事百科代码的注释里面,所以也把爬取糗事百科的代码写出来:import scrapyclass QiubaiSpider(scrapy.Spider): name = 'duanzi' #allowed_domains = ['www

2020-11-22 21:27:22 516 2

原创 Python爬虫:scrapy基本使用(初始化配置)

什么是框架:集成了很多功能并且具有很强通用性的一个项目模板如何学习框架:专门学习框架封装的各种功能的详细用法什么是scrapy:爬虫中封装好的一个明星框架,功能:高性能的持久化存储、异步的数据下载、高性能的数据解析、分布式创建一个工程:在cmd命令行中:1、cd xxxxxx(文件夹名称,用来存放工程)2、scrapy startproject xxxxxx(工程名称)3、cd xxxxxx(工程名称)4、在spiders子目录中创建一个爬虫文件:scrapy genspider spid

2020-11-22 16:43:47 578

原创 GitHub入门:安装Git和使用Git(详细)

Git的作用通过Git管理GitHub托管项目代码下载GitGit官网下载:www.git-scm.com/download/win,安装过程比较简单,安装选择命令行Bash模式。Git的工作区域1、工作区(Working Directory):添加、编辑、修改文件等操作.2、暂存区:暂存已经修改的文件(可能还需要继续修改,先暂存一下),最后统一提交到Git仓库中。3、Git仓库:最终确定的文件保存到仓库,成为一个新的版本,并且对别人可见。向仓库中添加文件的流程1、把文件从工作区提交到暂存

2020-11-20 20:51:45 165

原创 GitHub入门:创建分支branch和使用Pull request

创建分支branch使用分支branch可以隔离开发工作,不会影响仓库中的其它分支。每个仓库都有一个默认分支(master),也可以自己创建分支。例如:创建一个分支branch_test1、在仓库主页点击“Add file”—>“Create new file”,然后创建一个文件,只是在提交文件的时候,按照下图进行操作再提交文件。2、提交文件之后,到如下的页面。这是发送Pull request,接下来再讲,暂时不讲,直接点击“Code”或者仓库名称,回到仓库页面。3、查看创建的分支,点

2020-11-20 01:49:59 3980

原创 Python爬虫:使用代理服务器解决封IP

封IP访问网站频率太高,被反爬虫。同一个IP短时间内大量发送请求,被服务器判断为异常请求。代理服务器代理:破解封IP这种反爬机制。代理服务器:本机客户端和Web服务器之间的桥梁,本机客户端将请求发送给代理服务器,代理服务器再把请求转发给Web服务器。代理的作用:突破自身IP访问的限制、可以隐藏自身真实的IP。代理相关的网站:快代理、西祠代理、www.goubanjia.com代理IP的类型:http:应用到http协议对应的url中、https:应用到https协议对应的url中。代理IP的

2020-11-18 23:55:13 802

原创 霍夫线变换的数学原理和用OpenCV实现霍夫线变换的小例子

OpenCV霍夫线变换由于博主比较懒,关于霍夫线变换的数学原理直接截图了,大家也可以参考《数字图像处理》(冈萨雷斯 第三版)第472页—第475页的相关内容,书上讲的更详细。如果大家对霍夫线变换的数学原理有什么不明白的,可以在评论区提问,我会进行解答。以下是用OpenCV实现霍夫线变换的小例子,检测下图中的直线。#霍夫线变换import cv2import numpy as npimg = cv2.imread('C:\\Users\\Administrator\\Desktop\\s

2020-11-18 22:31:57 147

原创 推荐一些理工科书籍(更新:2020-11-18)

《算法导论》《机器人学导论》《概率机器人》《ROS机器人开发实践》(胡春旭)《Altium Designer 19 中文版 电子设计速成实战宝典》(凡亿教育)Python爬虫B站学习视频(路飞学城IT)

2020-11-18 12:25:48 2438

原创 GitHub入门创建仓库和管理仓库(Repository)

一个Git库(仓库)对应一个开源项目,通过Git管理Git库。创建仓库在GitHub主页点击“Start a project”,然后输入:Repository name(仓库名称,一般是项目名称)、Description(项目描述)、Add a README file(readme的说明文件,来详细地描述项目)。新建文件在仓库主页点击“Add file”—>“Create new file”,然后输入文件名称和文件内容,可以点击Preview查看文件内容,输入文件描述(填写每次提交的目的,方便

2020-11-17 23:49:42 718

原创 GitHub入门一些基本概念

GitHub入门一些基本概念目的:借助GitHub托管项目代码官网:github.comRepository(仓库):用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库。Star(收藏):收藏项目,方便下次查看。Fork(复制克隆项目):例如:张三有一个仓库“张三/test仓库”,李四Fork这个仓库,则李四会自动生成一个“李四/test仓库”(该仓库独立存在),并且仓库名称下面有“Forked from 张三/test仓库”。Pull Request(发起请求):例如:李四在

2020-11-17 19:36:00 107

原创 Python爬虫requests最简单基础的小例子

Python爬虫requests最简单基础的小例子一些爬虫的基本概念:爬虫:通过编写程序,模拟浏览器上网,让其去互联网上抓取数据。爬虫、反爬机制、反反爬策略:robots.txt协议-君子协议http协议:服务器和客户端进行数据交互的一种形式常用请求头信息:User-Agent:请求载体的身份标识 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Sa

2020-11-17 16:57:19 334

原创 sklearn特征预处理:归一化和标准化

sklearn特征预处理:归一化和标准化特征预处理:通过一些转换函数,将特征数据转换成更加适合算法模型的特征数据。API:sklearn.preprocessing数值型数据的无量纲化:1、归一化:x_new = (x - min)/(max - min),如果将其映射到指定的区间(a,b),则:x_new_new = x_new * (b-a) + a,一般是映射到(0,1),则:x_new_new = x_new。归一化的缺点:如果数据中有异常值(最大值和最小值),影响比较大,鲁棒性比较差。2

2020-11-17 16:30:19 820

原创 Python爬虫用正则化爬取多张页面的图片

Python爬虫用正则化爬取多张页面的图片爬取多张页面的关键是设置一个通用的url模板:url = ‘https://www.qiushibaike.com/imgrank/page/%d/’,因为这些页面之间是有关联的,改变%d的值,即可获得多张页面。获取每张页面的全部数据之后,可以使用正则化来解析html语言,获得我们需要的数据。#爬取糗事百科多张页面的图片import requestsimport reimport os#创建一个文件夹,保存所有的图片if not os.path.e

2020-11-16 23:12:25 696

原创 Python爬虫用session携带cookie进行模拟登录(最简单基础的小例子)

Python爬虫用session携带cookie进行模拟登录首先进行模拟登录,爬取基于某些用户的用户信息。对正点原子网站进行模拟登录,在输入账号和密码登录之前,在登录界面点击审查元素,点击Network,勾选Preserve log,然后输入账号和密码登录,审查元素界面的Network会更新,点击login查看。import requestsfrom lxml import etreeheaders = { 'User-Agent':'Mozilla/5.0 (Windows NT 10

2020-11-16 22:58:25 728

原创 Python爬虫xpath爬取美女图片

Python爬虫xpath爬取美女图片似乎学习入门Python爬虫,都会去爬取美女图片。第一篇关于爬虫的博客,也写一个爬取美女图片的小程序吧。#解析下载图片数据 http://pic.netbian.com/4kmeinv/import requestsfrom lxml import etreeimport osurl = 'http://pic.netbian.com/4kmeinv/'#进行UA伪装headers = { 'User-Agent':'Mozilla/5.0

2020-11-15 21:18:40 324

原创 OpenCV保存视频和从文件播放视频

OpenCV保存视频和从文件播放视频1、保存视频:需要创建一个VideoWriter对象,应该指定输出文件名(例如:output.avi),然后应该指定FourCC代码,然后传递帧率的数量和帧的大小,最后一个是颜色标志,如果是True,编码器期望颜色帧,否则它与灰度帧一起工作。FourCC:用于指定视频编解码器的4字节代码import cv2import numpy as npcap = cv2.VideoCapture(0)#定义编解码器并创建VideoWriter对象fourcc = c

2020-11-15 21:04:55 359 1

原创 OpenCV从相机中读取视频

OpenCV从相机中读取视频从相机中读取视频:许多情况下需要用摄像机捕捉实时画面,这里用笔记本电脑内置的摄像头捕捉视频,需要创建一个VideoCapture对象,它的参数可以是设备索引或者视频文件的名称,设备索引就是指定哪个摄像头的数字,传递0选择第一个摄像头。从视频中逐帧捕获,在最后需要释放俘虏。import cv2import numpy as npcap = cv2.VideoCapture(0)if not cap.isOpened(): print('Cannot open c

2020-11-15 20:36:20 357

原创 sklearn文本特征提取和TfidfVectorizer

sklearn文本特征提取和TfidfVectorizer文本特征提取:单词作为特征。**关键词:**在某一个类别的文章中,出现的次数很多,在其它的文章中出现的次数很少。具有很好的类别区分能力,适合用来分类。**sklearn.feature_extraction.text.CountVectorizer():**统计每个样本特征值出现的次数。**注意:**英文文本中不统计字母,中文文本中不统计单个字,标点符号也不统计。注意:在统计文本里面单词出现次数的时候,单词或者词语需要用空格键隔开,英文文本已

2020-11-15 16:14:47 322

原创 OpenCV绘制直方图cv2.calcHist()

OpenCV绘制直方图cv2.calcHist()直方图:X轴是像素值,Y轴是图像中该像素值的数量。通过查看图像的直方图,可以直观地了解图像的对比度、亮度、强度分布等。BINS:一般直方图显示的像素值是0—255,一共256个。也可以将直方图分成16个子部分,0—15之间的像素数量、16—31之间的像素数量…240—255之间的像素数量,只需要16个值就可以表示直方图,每个子部分都称为’BIN’。OpenCV中计算直方图的函数:cv2.calcHist(images, channels, mask,

2020-11-15 10:13:02 1373

原创 OpenCV基于边缘检测的车牌提取和字符分割

OpenCV基于边缘检测的车牌提取和字符分割上一篇博客是基于颜色信息的车牌提取,这一篇博客是基于边缘检测的车牌提取。其实无论是基于颜色信息还是基于边缘检测,都是先找到目标区域(车牌)的一些特征,将特征用白色标记出来,背景颜色是黑色。然后用形态学方法(腐蚀和膨胀),将车牌的矩形区域弄出来,再用轮廓提取,将车牌的矩形区域提取出来。本文主要参考了以下这一篇博客,该博客是用C++编写的算法,我参考其方法用Python实现了一遍,其中字符分割的算法实现有一些不同。参考的博客(C++编写的算法)在代码中,我详细

2020-11-14 21:28:07 2554 2

原创 OpenCV基于颜色信息的车牌提取

OpenCV基于颜色信息的车牌提取车牌提取的方法主要有:基于纹理特征分析法、基于数学形态学分析法、基于边缘检测的定位分析法、基于小波分析的定位分析法、基于彩色信息的定位分析法,本文采用的方法是基于颜色信息的定位分析法。本文主要参考了以下这一篇博客,该博客是用C++编写的算法,我参考其方法用Python实现了一遍。参考的博客(C++编写的算法)在代码中,我详细地注释了每一个步骤流程以及一些注意事项,看注释应该比较容易理解,代码可以直接使用。注意把cv2.imread()函数中的图片路径修改一下,原始

2020-11-13 23:34:37 1035 1

原创 传统人工势场法的MATLAB实现

传统人工势场法的MATLAB实现传统人工势场法:通过人工建立势场,将无人机在周围环境中运动抽象成在引力场中运动,目标对无人机产生吸引力,障碍物对无人机产生排斥力,根据力的叠加原理,可以计算出合力的方向,即无人机飞行的方向,以此来进行路径规划。关于传统人工势场法比较详细的介绍,以及引力势场和斥力势场的公式,大家可以参考以下这一篇博客,在此我就不多说了。传统人工势场法比较详细的介绍下面的MATLAB代码可以直接运行出结果,大家可以修改代码中的一些参数。%初始化车的参数Xo=[0 0];%起点位置k

2020-11-13 15:50:10 8029 8

原创 推荐一些本科生理工科书籍

推荐一些本科生理工科书籍《数学建模算法与应用》(司守奎)《数学模型》(姜启源)《鸟哥的LINUX私房菜》《数字图像处理》(冈萨雷斯)《机器学习》(西瓜书)《深度学习》《花书》《MATLAB在数学建模中的应用》(桌金武)《精通STM32F4》(库函数版)《智能车制作》(王盼宝)《Python编程从入门到实践》《四旋翼飞行器快速上手》(陈志旺)《C++ Primer Plus》(不推荐这本书)《Java从入门到精通》(张玉宏)《全国大学生数学竞赛辅导指南》《大学数学竞赛指导》《复

2020-11-13 15:25:25 1030

原创 由经纬度计算地球上任意两点的距离

由经纬度计算地球上任意两点的距离%计算城市间距离zb=xlsread('C:\Users\dell-pc\Desktop\zuobiao.xlsx','B2:C140'); %把城市的经纬度坐标数据导入到zb矩阵jd=zb(:,1); %经度jd=jd*pi/180; %转化成弧度wd=zb(:,2); %纬度wd=wd*pi/180; %转化成弧度%转化成空间直角坐标系x=cos(wd).*cos(jd);y=cos(wd).*sin(jd);z=sin(wd);

2020-11-13 15:18:27 411

原创 OpenCV中的腐蚀和膨胀操作

OpenCV中的腐蚀和膨胀操作#形态学转换#侵蚀、膨胀、开运算、闭运算等import cv2import numpy as np‘’’#侵蚀:侵蚀前景物体的边界(尽量使前景保持白色)#内核滑动通过图像(在2D卷积中),原始图像中的一个像素只有当内核下的所有像素都是1时才被认为是1,否则其被侵蚀为0#有助于去除小的白色噪声,分离两个连接的对象img = cv2.imread(‘C:\Users\Administrator\Desktop\qq.png’)img = cv2.cvtColor

2020-11-13 15:06:36 902 1

空空如也

空空如也

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

TA关注的人

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