自定义博客皮肤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)
  • 资源 (3)
  • 收藏
  • 关注

原创 opencv-python:19_图像轮廓【一】(概念、特征、性质 、面积、周长、边界矩形、方向、极点、cv2.findContours(),cv2.drawContours())

OpenCV 中的轮廓理解什么是轮廓学习找轮廓,绘制轮廓等函数:cv2.findContours(),cv2.drawContours()一、查找轮廓轮廓可以简单认为成将连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用为了更加准确,要使用二值化图像。在寻找轮廓之前,要进行阈值化处理或者 Canny 边界检测。查找轮廓的函数会修改原始图像。如果你在找到轮廓之后还想使用原始图像的话,你应该将原始图像存储到其他变量中。在 OpenCV

2020-06-11 11:13:20 4922

原创 预备知识:Anaconda 的安装、conda的使用、 jupyter notebook 的默认路径配置、虚拟环境的使用

一、Anaconda的安装为什么推荐使用anaconda呢?1、自带的包管理系统,方便安装各种库,避免各种安装和编译python包以及不兼容后果。如opencv-python2、自带独立的Python IDE,可以在相应的环境上直接开发编辑,无需要对接解析器。3、在其自带的jupyter NoteBook上写代码,做学习笔记,很方便。Anaconda安装可以直接百度,一种安装方法是去官网,下载安装包直接安装!另一种就是使用国内镜像进行安装,比如使用清华镜像,毕竟直接从官网下载是真的慢!!!

2020-06-08 19:26:30 846

原创 预备知识:显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?

写在前面的话学了很多框架,TensorFlow,Pytorch,Keras, 但一直没有总结,今天因为更新库版本,删除TensorFlow的时候,总是删不干净!索性卸载了Anaconda,重新安装。在重新安装的过程中,有很多不清楚的地方,碰到了很多坑,回头一下,要是当初安装的时候,写个笔记记录一下,没准就不用这么瞎找了!所以干脆开个深度学习框架的专栏,记录一下碰到的坑!显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么?提起深度学习框架,就离不开pyto

2020-06-08 17:52:59 610

原创 opencv-python:18_图像金字塔(高斯金字塔、拉普拉斯金字塔 、cv2.pyrUp()、cv2.pyrDown())

图像金字塔

2020-06-05 23:58:08 870

原创 opencv-python:17_图像经典边缘检测算子(边缘检测、图像梯度、Roberts算子、Prewitt算子、Sobel 算子、Laplacian 算子、Canny算子、算子优缺点对比)

图像边缘检测图像梯度,图像边界等相关函数:cv2.Sobel(),cv2.Schar(),cv2.Laplacian()边缘检测边缘检测是检测图像中的一些像素点,它们周围的像素点的灰度发生了急剧的变化,在此过程中,图像中的物体不同导致了这一变化,因此可以将这些像素点作为一个集合,可以用来标注图像中不同物体的边界。边缘区域的灰度剖面可以看作是一个阶跃,即图像的灰度在一个很小的区域内变化到另一个相差十分明显的区域。边缘是图像中的重要的结构性特征,边缘往往存在于目标和背景之间,不同的区

2020-06-04 16:38:18 7105

原创 opencv-python:16_形态学处理【二】(开操作、闭操作、形态学梯度、顶帽变换、黑帽变换,去除皮肤镜中的毛发噪音、cv2.morphologyEx())

形态学处理【二】开操作、闭操作、形态学梯度、顶帽变换、黑帽变换相关函数有:cv2.morphologyEx()、cv2.getStructuringElement()有趣的应用:去除皮肤镜中的毛发噪音一、开操作开操作(open):先腐蚀后膨胀。作用可以去掉小的白噪点,填充小的白洞。能排除小区域物体、消除孤立点、去噪、平滑物体的轮廓。用于移除一些小物体或者小亮斑点。如下假设对象是前景色,背景是黑色,腐蚀可把小白点去掉,膨胀又把主对象被腐蚀掉的部分还原回来。import

2020-05-28 11:26:31 2948

原创 opencv-python:15_形态学处理【一】(腐蚀、膨胀、结构元素、cv2.erode(),cv2.dilate(),cv2.getStructuringElement())

形态学处理形态学概念,腐蚀,膨胀相关函数有:cv2.erode(),cv2.dilate(),cv2.getStructuringElement()一、形态学形态学(morphology)常应用在生物学中,研究动植物的形态和结构;图像形态学即数学形态学(Mathematical morphology)是一门建立在格伦和拓扑学基础上的图像分析学科,是数学形态学图像处理的基本理论;常见图像形态学运算:腐蚀、膨胀、开运算、闭运算、骨架抽取、极线腐蚀、击中击不中变换、Top-hat变换、

2020-05-26 18:14:02 2569 1

原创 opencv-python:14_图像平滑(模糊)与 常见图像滤波(低通与高通滤波、图像卷积cv.filter2D()、线性滤波(方框滤波、均值滤波、高斯滤波)、非线性滤波(中值滤波、双边滤波))

图像平滑(模糊)与图像滤波低通滤波和高通滤波学习使用不同的低通滤波器对图像进行模糊使用自定义的滤波器对图像进行卷积(2D 卷积)opencv中常见的图像滤波一、低通滤波和高通滤波与以为信号一样,我们也可以对 2D 图像实施低通滤波(LPF),高通滤波(HPF)。LPF 帮助我们去除噪音,模糊图像HPF 帮助我们找到图像的边缘低通滤波器是模糊,高通滤波器是锐化低通滤波器就是允许低频信号通过,在图像中边缘和噪点都相当于高频部分,所以低通滤波器用于去除噪点、平滑和模糊图像。高通滤波器则反

2020-05-25 19:20:45 2592

原创 00_专栏总目录

第1章 算法面试到底是什么鬼?一提起算法面试,很多同学就会心有余悸。可其实,大多数企业的算法面试,并没有那么可怕。并不是一定要啃完整本《算法导论》,才能玩儿转算法面试;也并不是只有ACM参赛选手,才能笑傲算法面试。恰恰相反,大多数算法面试关注的算法思维,其实很基础。在这一章,和大家聊一聊,算法面试,到底是什么鬼?…1-1 算法面试不仅仅是正确的回答问题1-2 算法面试只是面试的一部分1-3 如何准备算法面试1-4 如何回答算法面试问题第2章 面试中的复杂度分析很多同学一提起复杂度分析就头疼

2020-05-24 22:35:01 203 1

原创 opencv-python:13_图像噪声(噪声的概念、椒盐噪声、高斯噪声、使用python给图像添加噪声)

图像噪声学习两种图像噪声,即椒盐噪声和高斯噪声。使用python实现给图像添加椒盐噪声和高斯噪声一、噪声的概念在噪声的概念中,通常采用信噪比(Signal-Noise Rate, SNR)衡量图像噪声。通俗的讲就是信号占多少,噪声占多少,SNR越小,噪声占比越大。在信号系统中,计量单位为dB,为10lg(PS/PN), PS和PN分别代表信号和噪声的有效功率。在这里,采用信号像素点的占比充当SNR,以衡量所添加噪声的多少。二、椒盐噪声椒盐噪声也称为脉冲噪声,是图像中经常见到

2020-05-24 21:59:18 7649 7

原创 opencv-python:12_图像阈值(二值化、固定阈值、自适应阈值、Otsu二值化、cv2.threshold,cv2.adaptiveThreshold)

图像阈值固定阈值,自适应阈值,Otsu 二值化等相关函数: cv2.threshold,cv2.adaptiveThreshold 等。全局阈值和局部阈值一、图像二值化定义:图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。灰度值0:黑,灰度值255:白一幅图像包括目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。

2020-05-24 10:55:56 4188

原创 opencv-python:11_几何变换(平移、缩放、旋转、仿射变换、透视变换、cv2.warpAffine 、cv2.warpPerspective、cv2.getPerspectiveTran)

几何变换学习对图像进行各种几个变换,例如移动,旋转,仿射变换等。函数:cv2.getPerspectiveTransform。变换函数OpenCV 提供了两个变换函数,cv2.warpAffine 和 cv2.warpPerspective,使用这两个函数你可以实现所有类型的变换。cv2.warpAffine 接收的参数是2 × 3 的变换矩阵,而 cv2.warpPerspective 接收的参数是 3 × 3 的变换矩阵。一、扩展缩放扩展缩放只是改变图像的尺寸大小。OpenCV 提供的函

2020-05-17 16:11:32 3566

原创 opencv-python:10_OpenCV颜色空间转换(cv2.cvtColor()、cv2.inRange()、获取图像中指定颜色区域、调用摄像头进行物体跟踪)

颜色空间转换学习如何对图像进行颜色空间转换,比如从 BGR 到灰度图,或者BGR 到 HSV 等。创建一个程序用来从一幅图像中获取某个特定颜色的物体。相关函数有:cv2.cvtColor(),cv2.inRange()。一、转换颜色空间在 OpenCV 中有超过 150 中进行颜色空间转换的方法。但是你以后就会发现我们经常用到的也就两种:BGR↔Gray 和 BGR↔HSV。...

2020-04-07 12:20:29 1293

原创 opencv-python:09_OpenCV中的数学工具

OpenCV 中的数学工具这一部分,涉及内容相当多,放在一篇博客里面来写,不免有些赘述了。CSDN和知乎上有几个博主关于这部分内容的介绍文章写的很不错:https://zhuanlan.zhihu.com/p/73694512https://zhuanlan.zhihu.com/p/73546610https://blog.csdn.net/Qregi/article/details/8...

2020-04-07 12:12:44 268

原创 opencv-python:08_IPython的魔法命令(包括magic、debug、time 、timeit、run等等)

IPython的魔法命令IPython提供了许多魔法命令,使得在IPython环境中的操作更加得心应手。魔法命令都以%或者%%开头,以%开头的成为行命令,%%开头的称为单元命令。行命令只对命令所在的行有效,而单元命令则必须出现在单元的第一行,对整个单元的代码进行处理。常用魔法命令:%magic 显示所有魔法命令的详细文档执行 %lsmagic 命令将提供所有可用魔术命令的列表...

2020-04-07 12:10:42 380

原创 opencv-python:07_OpenCV程序性能检测及优化(getTickCount()、getTickFrequency()、useOptimized()、%time、%timeit )

OpenCV程序性能检测及优化在图像处理中你每秒钟都要做大量的运算,所以你的程序不仅要能给出正确的结果,同时还必须要快。检测程序的效率一些能够提高程序效率的技巧相关函数有:cv2.getTickCount,cv2.getTickFrequency等检测时间的方法使用OpenCVPython 的 time 的的模块,你可以用它来测量程序的运行时间。Python 的 pr...

2020-04-03 11:42:34 850

原创 opencv-python:06_图像算术运算(图像加法、图像融合、图像按位运算【AND,OR,NOT,XOR】、掩膜概念)

图像上的算术运算学习图像上的算术运算,加法,减法,位运算等。相关函数:cv2.add(),cv2.addWeighted() 等。一、图像加法可以使用函数 cv2.add() 将两幅图像进行加法运算,当然也可以直接使用 numpy,res=img1+img。两幅图像的大小,类型必须一致,或者第二个图像可以使一个简单的标量值。注意:OpenCV 中的加法与 Numpy 的加法是...

2020-04-03 11:35:44 1438

原创 opencv-python:05_图像基础操作(像素、图像属性、ROI、通道拆分合并、BGR转RGB、边界填充)

图像的基础操作获取像素值并修改获取图像的属性(信息)图像的 ROI()图像通道的拆分及合并BGR转RGB图像扩边(边界填充)一、获取并修改像素值注意: Numpy 是经过优化了的进行快速矩阵运算的软件包。所以我们不推荐逐个获取像素值并修改,这样会很慢,能有矩阵运算就不要用循环。import cv2import numpy as npimport matplotlib.py...

2020-04-02 12:28:33 1082

原创 opencv-python:04_OpenCV处理鼠标响应事件

OpenCV处理鼠标响应事件学习使用 OpenCV 处理鼠标响应事件函数:cv2.setMouseCallback()一、定义鼠标回调函数格式都是统一的,不同的是调用后的功能def mouse_callback(event,x,y,flags,param):定义完成后需要注册该回调函数cv2.setMouseCallback(windowName,mouse_callba...

2020-04-01 22:36:51 761 1

原创 opencv-python:03_OpenCV 中的绘图函数(点,线,圆,矩阵,多边形,添加文字)

OpenCV 中的绘图函数学习使用 OpenCV 绘制不同几何图形相关函数:cv2.line(),cv2.circle(),cv2.rectangle(),cv2.ellipse(),cv2.putText() 等。代码上面所有的这些绘图函数需要设置下面这些参数:img:你想要绘制图形的那幅图像。color:形状的颜色。以 RGB 为例,需要传入一个元组,例如:(255,0,0)...

2020-04-01 13:08:24 1151

原创 opencv-python:02_实现视频的读、显、存

实现视频的读、显、存学会从摄像头获取并显示视频学习相关函数:cv2.VideoCapture(),cv2.VideoWrite()一、用摄像头捕获视频我们经常需要使用摄像头捕获实时图像。OpenCV 为这中应用提供了一个非常简单的接口cv2.VideoCapture(0)。让我们使用摄像头来捕获一段视频,并把它转换成灰度视频显示出来。为了获取视频:创建一个 VideoCaptu...

2020-03-29 08:57:12 240

原创 opencv-python:01_实现图片的读、显、存

实现图片的读、显、存学习怎样读入一幅图像,怎样显示一幅图像,以及如何保存一幅图像相关函数:cv2.imread(),cv2.imshow(),cv2.imwrite()一、读入图像imread()使用函数 cv2.imread() 读入图像。这幅图像应该在此程序的工作路径,或者给函数提供完整路径,第二个参数是要告诉函数应该如何读取这幅图片。cv.imread( filename[,...

2020-03-28 12:15:24 350

原创 opencv-python:00_环境介绍与安装

opencv-python:环境介绍与安装一、安装Anaconda。为什么推荐使用anaconda呢?1、自带的包管理系统,方便安装各种库,避免各种安装和编译python包以及不兼容后果。如opencv-python2、自带独立的Python IDE,可以在相应的环境上直接开发编辑,无需要对接解析器。3、在其自带的jupyter NoteBook上写代码,做学习笔记,很方便。安装过程...

2020-03-28 12:06:25 182

原创 基于图像的三维重建-02重建概述

三维模型重建流程基于图像的三维模型重建,也就是多视角重建。三维点云获取 空间中的散点,包含空间坐标、法向量等等。几何结构恢复 利用计算机图形学恢复几何结构,也就是图形拓扑结构。散乱的三维点,结构非常冗余,数据存储 困难,将点云转化为网格是重建里面一个很重要的模块,其一个很重要的功能就是减少数据存储。 从渲染的角度来说, 无结构的点云渲染质量非常差,所以讲点云转化为网格。场景绘制...

2020-03-24 16:13:47 1433

原创 基于图像的三维重建-01参考资料

介绍基于图像的三维模型重建是计算机视觉领域的一个非常重要的研究方向。我们都知道,人类生活在三维空间里,接触最多的也是三维物体,可以说三维空间是物体存在的基本形式。相比较二维图像信息,三维模型真实感更加强烈,能够呈现人们更多的信。随着虚拟现实和增强现实技术的发展,可以预见三维数据将是未来数据呈现的主要模式。参考资料书籍Computer Vision for Visual EffectsC...

2020-03-24 16:11:16 692

原创 C++ 标准库介绍

C++ 标准库C++标准库可分类:类别详细标准函数库由通用的、独立的、不属于任何类的函数组成的。继承自C语言面向对象类库类及其相关函数的集合标准函数库标准函数库分为以下几类:输入/输出 I/O字符串和字符处理数学时间、日期和本地化动态分配其他宽字符函数面向对象类库标准的 C++ 面向对象类库定义了大量支持一些常见操作的类,比如输入/输...

2020-03-24 15:18:48 176

opencv.rar

opencv_python-3.4.1.15-cp36-cp36m-win_amd64.whl opencv_contrib_python-3.4.1.15-cp36-cp36m-win_amd64.whl

2020-03-10

客房管理系统实验

客房管理(链表) 实现功能:以带表头结点的单链表为存储结构,实现如下客房管理的设计要求。

2018-06-07

《数据结构》实验报告 涉及客房管理系统、串模式匹配算法、KMP算法及改进算法、二叉树节点路径

实验一 客房管理(链表) 实现功能:以带表头结点的单链表为存储结构,实现如下客房管理的设计要求。 实验二 串模式匹配算法(串) 实现功能: 从主串中第K个字符起,求出子串在主串中首次出现的位置,即模式匹配或串匹配。 要求用三种模式匹配算法分别实现: 朴素的模式匹配算法(BF算法) KMP改进算法(Next[ ]) KMP改进算法(NextVal[ ]) 实验三 求二叉树上结点的路径(二叉树) 实现功能:在采用链式存储结构存储的二叉树上,以bt指向根结点,p指向任一给定的结点,编程实现求出从根结点bt到给定结点p之间的路径。 快毕业了,留一点东西给学弟们吧!

2018-06-07

空空如也

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

TA关注的人

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