07 2018 档案

摘要:参考文献目标学习图像金字塔 学习函数cv2.pyrUp()和cv2.pyrDown()原理 当我们需要将图像转换到另一个尺寸的时候, 有两种可能,一种是放大图像,另一种是缩小图像。尽管在Opencv几何变换中学到了resize()函数,不过使用图像金字塔来做图像缩放... 阅读全文
posted @ 2018-07-30 21:17 龙~白 阅读(266) 评论(0) 推荐(0)
摘要:简介 Canny 边缘检测算法 是 John F. Canny 于 1986年开发出来的一个多级边缘检测算法,也被很多人认为是边缘检测的 最优算法,它是由很多步构成的算法。最优边缘检测的三个主要评价标准:低错误率: 标识出尽可能多的实际边缘,同时尽可能的减少噪声产生... 阅读全文
posted @ 2018-07-30 09:48 龙~白 阅读(640) 评论(0) 推荐(0)
摘要:目标认识图像梯度、边界 学习函数cv2.Sobel(),cv2.Schar(),cv2.Laplacian()原理 图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导。OpenCV提供三种类型的梯度滤波器或高通滤波器,Sobel,Scharr... 阅读全文
posted @ 2018-07-29 21:13 龙~白 阅读(695) 评论(0) 推荐(0)
摘要:打开百度,输入pycharm下载,点击下图的第二个英文链接。进入后选择linux下的Community进行下载,而左边的Professional是要钱购买的,当然花钱的体验效果肯定会更好。下载完成后,将文件进行解压提取,然后点击文件下的bin,右键在其下打开终端,输入... 阅读全文
posted @ 2018-07-29 09:43 龙~白 阅读(165) 评论(0) 推荐(0)
摘要:系统虽然自带了不同版本的python,但都没有安装pip,pyhton2.7下使用的是pip2,python3.5下使用的是pip3。下面是各自安装命令。安装pip2:sudo apt-get install python-pip python-dev build-e... 阅读全文
posted @ 2018-07-28 17:53 龙~白 阅读(8739) 评论(1) 推荐(0)
摘要:Ubuntu系统自带python2.7(默认)和python3.5,所以不需要自己安装python。我们可以使用命令python -V或python3 -V来查看默认的python版本。现在越来越多的人从以前使用2.7版本过渡到3.5,这里就要知道如何随意的切换u... 阅读全文
posted @ 2018-07-28 17:30 龙~白 阅读(1692) 评论(0) 推荐(0)
摘要:为什么要进行浏览器伪装技术? 有一些网站为了避免爬虫的恶意访问,会设置一些反爬虫机制,对方服务器会对爬虫进行屏蔽。常见的饭爬虫机制主要有下面几个:1. 通过分析用户请求的Headers信息进行反爬虫2. 通过检测用户行为进行反爬虫,比如通过判断同一个IP在短时间... 阅读全文
posted @ 2018-07-25 20:34 龙~白 阅读(1094) 评论(0) 推荐(0)
摘要:什么是cookie? 在爬虫的使用中,如果涉及登录等操作时,经常会使用到cookie。简单的来说,我们访问每一个互联网页面,都是通过HTTP协议进行的,而HTTP协议是一个无状态协议,所谓的无状态协议就是无法维持会话之间的状态。比如,仅使用HTTP协议的话,我们... 阅读全文
posted @ 2018-07-25 20:11 龙~白 阅读(283) 评论(0) 推荐(0)
摘要:Fiddler是一个常见的抓包分析软件,同时我们可以利用它详细地对HTTP请求进行分析,并模拟对应的HTTP请求。为什么使用Fiddler软件? 网络爬虫是自动爬取网页的程序,在爬取的过程中必然涉及客户端和服务器端之间的通信,自然也需要发送一些HTTP请求,并接收... 阅读全文
posted @ 2018-07-21 15:34 龙~白 阅读(729) 评论(0) 推荐(0)
摘要:在ubuntu下不能直接安装Fiddler,我们要先安装mono环境,具体可分为三个步骤:1. 在终端下输入指令安装mono环境 :sudo apt-get install mono-complete2. Fiddler官方提供了Mono版本的,Fiddler可... 阅读全文
posted @ 2018-07-20 23:03 龙~白 阅读(177) 评论(0) 推荐(0)
摘要:一、匹配.com或.cn为后缀的url网址# -*- coding:UTF-8 -*-import restring = "百度首页"pattern = "[a-z|A-Z]+://[^\s]+[.cn|.com]"result = re.search(pattern... 阅读全文
posted @ 2018-07-18 21:24 龙~白 阅读(206) 评论(0) 推荐(0)
摘要:今天我的ubuntu系统进不去,一启动就陷入紫屏的死循环中,重装了两遍系统还是一样进不去,后来上网查找了各种解决办法,网上都说是显卡的问题,我也不懂什么意思。试了几种方法,终于解决了这个问题,在这里记录下解决方法,以便下次再次碰到。在引导界面按E,进入grub的文本界... 阅读全文
posted @ 2018-07-18 14:13 龙~白 阅读(1717) 评论(0) 推荐(0)
摘要:常见的正则表达式函数有四个,分别是re.match()、re.search()、全局匹配函数、re.sub()。一、re.match()函数re.match()函数是从源字符串的起始位置开始匹配一个模式,其使用格式为re.match(pattern,string,fl... 阅读全文
posted @ 2018-07-17 21:46 龙~白 阅读(283) 评论(0) 推荐(0)
摘要:什么是正则表达式? 正则表达式(Regular Expression)是一种文本模式,在编写处理字符串的程序或网页时,经常会有查找符合某些规则的字符串的需求。正则表达式就是用于描述这些规则的工具,换句话说,正则表达式就是记录文本规则的代码。我们将分别从原子、元子符、... 阅读全文
posted @ 2018-07-17 14:16 龙~白 阅读(1295) 评论(0) 推荐(0)
摘要:异常主要分为两类,一类是URLError,一类是HTTPError。在异常处理中,我们常常使用try.......except.......语句,try主要执行主要代码,在except捕获异常信息,并进行相应的异常处理。一般来说,产生URLError的原因有以下几点:... 阅读全文
posted @ 2018-07-16 21:28 龙~白 阅读(175) 评论(0) 推荐(0)
摘要:使用同一个IP去爬取同一个网站上的网页,久了之后会被该网站服务器屏蔽。这个时候我们就可以使用代理服务器。 (使用代理服务器去爬取某个网站的内容的时候,在对方的网站上,显示的不是我们真实的IP地址,而是代理服务器的IP地址)。给大家推荐一个网址:http... 阅读全文
posted @ 2018-07-16 20:08 龙~白 阅读(309) 评论(0) 推荐(0)
摘要:如果要进行客户端与服务器端之间的消息传递,我们可以使用HTTP协议请求进行。 HTTP协议请求主要分为6种类型,各类型的主要作用如下:GET请求:GET请求会通过URL网址传递信息,可以直接在URL中写上要传递的信息,也可以由表单进行传递。如果使用表单进行传递,这表单... 阅读全文
posted @ 2018-07-16 13:04 龙~白 阅读(216) 评论(0) 推荐(0)
摘要:有的时候,我们无法爬取一些网页,会出现403错误,因为这些网页为了防止别人恶意采集其信息所以进行了一些反爬虫的设置。那么如果我们向爬取这些网页的信息,应该怎么办呢? 可以设置一些Headers信息,模拟成浏览器去访问这些网站,此时,就能够解决这个问题了... 阅读全文
posted @ 2018-07-15 21:04 龙~白 阅读(914) 评论(0) 推荐(0)
摘要:本人以前用的都是python2.7,但看网上很多教程都是以python3为例的,所以便切换版本,导入urllib、lxml、beautifulsoup4等库。下面介绍下两个版本对urllib库的区别,方便以前使用python2.7的能很快适应pytho... 阅读全文
posted @ 2018-07-15 12:45 龙~白 阅读(349) 评论(1) 推荐(0)
摘要:学习目标:学习不同的形态学操作,例如腐蚀,膨胀,开运算,闭运算等我们要学习的函数有: cv2.erode(), cv2.dilate(), cv2.morphologyEx()等原理简介: 形态学操作是根据图像形状进行的简单操作。一般情况下对二值化图像进... 阅读全文
posted @ 2018-07-14 22:04 龙~白 阅读(453) 评论(0) 推荐(0)
摘要:学习目标:使用自定义的滤波器对图像进行卷积(2D 卷积)学习使用不同的低通滤波器对图像进行模糊一、2D卷积 卷积不是很了解的可以看我上一篇博客,与语音信号一样,我们也可以对 2D 图像实施低通滤波(LPF),高通滤波(HPF)等。低通滤波器就是允许低频信... 阅读全文
posted @ 2018-07-13 21:26 龙~白 阅读(372) 评论(0) 推荐(0)
摘要:卷积 什么是二维卷积呢?看下面一张图就一目了然: 卷积就是循环对图像跟一个核逐个元素相乘再求和得到另外一副图像的操作,比如结果图中第一个元素5是怎么算的呢?原图中3×3的区域与3×3的核逐个元素相乘再相加:1×1 + 2×0 + 1×0 +... 阅读全文
posted @ 2018-07-13 20:41 龙~白 阅读(271) 评论(0) 推荐(0)
摘要:学习目标:学习简单阈值,自适应阈值,Otsu’s 二值化等学习函数cv2.threshold,cv2.adaptiveThreshold 等。一、简单阈值 与名字一样,这种方法非常简单。但像素值高于阈值时,我们给这个像素赋予一个新值(可能是白色),否则我... 阅读全文
posted @ 2018-07-12 20:08 龙~白 阅读(305) 评论(0) 推荐(0)
摘要:学习目标:学习图像上的算术运算,加法,减法,位运算等。学习函数cv2.add(),cv2.addWeighted() 等。一、图像的加法 你可以使用函数 cv2.add() 将两幅图像进行加法运算,当然也可以直接使用 numpy,res=img1+img... 阅读全文
posted @ 2018-07-12 09:08 龙~白 阅读(263) 评论(0) 推荐(0)
摘要:一、获取矩阵的元素1、获取三维矩阵img[i,j]处的元素 (b,g,r) = image[i,j],image大小为:MxNxK。2、获取三维矩阵的子矩阵的全部元素 newimage = image[i:j,p:q],image大小为:M... 阅读全文
posted @ 2018-07-11 20:28 龙~白 阅读(156) 评论(0) 推荐(0)
摘要:学习目标:学会把滑动条绑定到 OpenCV 的窗口。学习函数:cv2.getTrackbarPos(), cv2.creatTrackbar()等。简单演示: 通过调节滑动条来设定画板颜色。我们要创建一个窗口来显示显色,还有三个滑动条来设置 B,G,R ... 阅读全文
posted @ 2018-07-11 18:54 龙~白 阅读(441) 评论(0) 推荐(0)
摘要:学习目标: 学习使用 OpenCV 处理鼠标事件学会使用函数cv2.setMouseCallback()简单演示: 首先我们来创建一个鼠标事件回调函数,但鼠标事件发生是他就会被执行。鼠标事件可以是鼠标上的任何动作,比如左键按下,左键松开,左键双击等。该函... 阅读全文
posted @ 2018-07-11 10:48 龙~白 阅读(517) 评论(0) 推荐(0)
摘要:常用的绘图函数有:cv2.line() cv2.circle() cv2.rectangle() cv2.ellipse() cv2.putText()上面所有的这些绘图函数需要设置下面这些参数:• img:你想要绘制图... 阅读全文
posted @ 2018-07-10 19:34 龙~白 阅读(905) 评论(0) 推荐(0)
摘要:一、利用摄像头获取视频 我们经常需要使用摄像头捕获实时图像。OpenCV 为这中应用提供了一个非常简单的接口。让我们使用摄像头来捕获一段视频,并把它转换成灰度视频显示出来。了获取视频,你应该创建一个 VideoCapture 对象。他的参数可以是设备的索... 阅读全文
posted @ 2018-07-10 09:13 龙~白 阅读(482) 评论(0) 推荐(0)
摘要:1.图像的透视变换 对于视角变换,我们需要一个 3x3 变换矩阵。在变换前后直线还是直线。要构建这个变换矩阵,你需要在输入图像上找 4 个点,以及他们在输出图像上对应的位置。这四个点中的任意三个都不能共线。这个变换矩阵可以有函数 cv2.getPersp... 阅读全文
posted @ 2018-07-09 20:44 龙~白 阅读(171) 评论(0) 推荐(0)
摘要:1.图像的读、显示和保存操作import cv2img = cv2.imread('filename',0);cv2.imshow('name',img);k=cv2.waitKey(0);if k==27: cv2.destroyAllWindows();... 阅读全文
posted @ 2018-07-08 20:50 龙~白 阅读(222) 评论(0) 推荐(0)