首先 首先我想先介绍一下,什么是对象跟踪和GOTURN。 GOTURN(Generic Object Tracking Using Regression Networks)本身是一种基于深度学习的目标跟踪算法,在Caffe中搭建。 GOTURN通过以离线方式学习对象的运动,改变了之前部分深度学习进行跟踪问题训练的方式。其模型在许多视频上已经得到了训练,为此在我们运行时不再需要进行任何学习。
首先 首先我想进行介绍的是关于显著性检测的有关内容。 关于显著性检测,其本身是一种视觉注意机制:当我们观察某一个场景的时候,时常会选择性地忽略不感兴趣的区域、聚焦于感兴趣的区域。对于这种感兴趣的区域的提取算法,我们将其称为视觉显著性检测(Visual Saliency Detection,VSD)如下图所示:在人眼的观察过程中,会对天上的白云以及草地上的牛群最先产生反应,而自动忽略了背景区域
概念介绍 首先我想先介绍下有关的一些概念。 第一个概念:分辨率 图像分辨率指图像中存储的信息量,指的是每英寸图像内有多少个像素点,分辨率的单位为PPI(Pixels Per Inch),通常叫做像素每英寸。一般情况下,图像分辨率越高,图像中包含的细节就越多,信息量也越大。图像分辨率分为空间分辨率和时间分辨率。通常,分辨率被表示成每一个方向上的像素数量,例如64*64的二维图像。但分辨率的高
首先 首先,我想说明的是本文的主要任务在于文本的检测,而非识别。在文本检测中,我们只检测文本周围的边界框。但是,在文本识别中,我们实际上得到了框中所写的实际内容。两者其实是一个递进的关系。 前提准备 在本文中,主要需要使用到一个基于tensorflow的模型,而此处我们需要基于OpenCV来调用该tensorflow模型,且OpenCV的版本不能过低(我之前实验的时候使用的版本是3.4.2
首先 在这一章节中,我主要想要进行介绍的是关于运动背景分割法(Background Segment,BS)方法的介绍。 其主要进行的是:通过不同方法拟合各种模型来建立起背景图像。之后再将当前帧与背景图像进行相减,从而得到运动的区域,该思想与时间背景中值差分的思想相似,感兴趣的读者可以前往进行查看:时间中值滤波 假设我们当前已经获得了某个背景图片,此时镜头内会出现障碍物,例如车辆或其他移动物
前提 目前有许多算法来衡量两幅图像的相似性,本文主要介绍在工程领域最常用的图像相似性算法评价算法:图像哈希算法。 图像哈希算法通过获取图像的哈希值并比较两幅图像的哈希值的汉明距离来衡量两幅图像是否相似。 两幅图像越相似,其哈希值的汉明距离越小,通过这种方式就能够比较两幅图像是否相似。 在实际应用中,图像哈希算法可以用于图片检索,重复图片剔除,以图搜图以及图片相似度比较。 汉明距离 这
介绍 在本章中,我将主要介绍的是光流的有关概念及其的有关使用。其中,我想主要介绍的是Lucas-Kanade方法的估计。 光流场与运动场 在理解光流法前,先要对运动场的概念有基本的理解。运动场其实就是物体在三维(3D)真实世界中的运动,运动场由图像中所有图像点的运动矢量组成,其中的每一个图像点都是一个三维的运动矢量。 光流法是在光流场上的一种预估计算。光流场简单说来就是运动场在二维(2D
引言 进行图像的分割的方式有很多种,这里我们主要要介绍的是一种叫做分水岭(Watershed)的算法。 介绍 与GrabCut算法不同的是,GrabCut算法的实现步骤是: (1)图片中定义(一个或者多个)物体的矩形。 (2)矩形外的区域被自动认为是背景。(先假设) (3)对于矩形区域内,可以用背景中的数据来区别它里面的前景和
首先 在这篇文章中,我们将介绍如何使用OpenCV执行基于特征的图像对齐。我们将使用的技术通常被称为“基于特征图像对齐”,因为在该技术中,在一个图像中检测稀疏的特征集并且在另一图像中进行特征匹配。然后基于这些匹配特征将原图像映射到另一个图像,实现图像对齐。 在计算机视觉的许多应用中,时常会在两个不同的图片中共同出现一个相同或类似的事物,而两张图片中的
首先 首先我们先来介绍一下我们的时间中值滤波。 许多计算机视觉应用的硬件配置往往不会很高,举个例子:交通路口的摄像头。在这种硬件条件的约束下,我们只能使用简单但必须有效的一些技术来实现例如:“监控”的功能。本文中将介绍的中值背景估计就是一种这样的技术。 中值背景估计常用在摄像头这种静态但是场景中会出现一些移动物体的估计场景中。举个例子,
开头 本文主要讲述的是霍夫变换的一些内容,并加入一些在生活中的应用,希望能对读者对于霍夫变换的内容有所了解。 首先我先说的是,霍夫变换是一个特征提取技术。其可用于隔离图像中特定形状的特征的技术,应用在图像分析、计算机视觉和数字图像处理领域。目的是通过投票程序在特定类型的形状内找到对象的不完美实例。这个投票程序是在一个参数空间中进行的,在这个参数空间中
1.首先 这篇文章是针对Jeff Tupper在他发的paper中提及的作品:Tupper自我指涉方程的相关解读。 该Paper在线阅读地址为:点击该处 该公式的作用是在一个指定的公式里使用一个常数k就可以唯一指定一张二值图。 其公式为: 对于该公式,其以(x,y-k)作图,其中0\leq x\leq 106,k\leq y\leq
一般情况下我们称外部的形状为父,内部的形状为子。按照这种方式分类,一幅图像中的所有轮廓之间就建立父子关系。这样我们就可以确定一个轮廓与其他轮廓是怎样连接的,它是不是某个轮廓的子轮廓,或者是父轮廓。这种关系就成为组织结构。 在这幅图像中,我给这几个形状编号为0-5。2和2a分别代表最外边矩形的外轮廓内状语从句:轮廓。 在这里边轮廓0,1,2在外
1 凸缺陷 找到凸缺陷 hull=cv2.convexHull(cnt,returnPoints=False) defects=cv2.convexityDefects(cnt,hull) 它会返回一个数组,其中每一行包含的值是【起点,终点,最远的点,到最远点的近似距离】 import cv2 import
1.1长宽比 边界矩形的宽高比 x,y,w,h=cv2.boundingRect(cnt) aspect_ratio = float(w)/h 2.Extent 轮廓面积与边界矩形面积的比 area=cv2.contourArea(cnt) x,y,w,h=cv2.boundingRect(cnt) rect_area=w
什么是轮廓 轮廓可以简单认为成连续的点(连着边界)连在一起的曲线,具有相同的颜色或者灰度。轮廓在形状分析和物体的检测和识别中很有用。 ·为了准确,要使用二值化图像。需要进行阀值化处理或者Canny边界检测。 ·查找轮廓的函数会修改原始图像。如果之后想继续使用原始图像,应该将原始图像储存到其他变量中。 ·在OpenCV中,查找轮廓就像在黑色背景中超
1.原理 一般情况下,我们要处理是一副具有固定分辨率的图像。但是特别情况下我们需要对同一个图像的不同分辨率的子图像进行处理,如查找图像中的某个目标,如人脸,我们不知道目标在图像中的尺寸大小。这种情况下,我们需要创建一组图像,这些图像是具有不同分辨率的原始图像。我们把这组图像叫做图像金字塔。就是同一图像的不同分辨率的子图集合。我们把最大的图像放在底部,最小的放在顶部,看起来就像
首先: Canny边缘检测:cv2.Canny() 任务1:原理 步骤1.1 噪音去除 由于边缘检测很容易受到噪音影响,所以第一步是使用5x5的高斯滤波器去除噪音。 步骤1.2 计算图像梯度 对平滑后的图像使用Sobel算子计算水平方向和竖直方向的一阶导数(图像梯度)(Gx和Gy)。根据得到的这两幅梯度图找到边界的梯度和方向。公式如下
事先说明 图像梯度原理:简单来说就是求导 OpenCV提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr和Laplacian。Sobel和Scharr是求一阶或二阶导数。Scharr是对Sobel(使用小的卷积核求解梯度角度时)的优化,Laplacian是求二阶导数。 任务1:Sobel算子和Scharr算子
涉及函数 cv2.erode(),cv2.dilate(),cv2.morphotogyEx() 首先 首先我们看下原始图像: 形态学转换原理: 一般情况下对二值化图像进行操作。需要两个参数,一个是原始图像,第二个被称为结构化元素或者核(kernel),它是用来决定操作的性质的。基本操作为腐蚀和膨胀,他们的变体构成了开运
事先准备 使用工具:Python3.5 使用库:cv2,numpy 任务1:2D卷积 同一维信号一样,可以对2D图像实施低通滤波(LPF)和高通滤波(HPF)。LPF用于去除噪音,模糊图像,HPF用于找到图像的边缘。 OpenCV提供的函数cv.filter2D()可以对一幅图像进行卷积操作。练习一幅图像使用平均滤波器。举例下面是一个5X5的平均滤波器核: &n
事前准备 使用工具:Python3.5 使用库:cv2,numpy 原始图像 任务1:简单阀值 涉及函数: cv2.threshold() 当像素值高于阀值时,我们给这个像素赋予一个新值(可能是白色),否则我们给它赋予另外一种颜色(也许是黑色)。这个函数就是cv2.threshold()。这个函数
涉及函数: cv2.getPerspectiveTransform() cv2.warpAffine() cv2.warpPersperctive() 名称讲解: 通道数:指的是一个像素点由几个元素产生,有几个元素就有几条通道。如:一张RGB的图片,他上面的一个像素点就有三个元素组成(三通道),分别是B(Blue),G(Green),R(Red),
事先准备 使用工具Python3.5 使用包cv2,numpy 涉及函数 cv2.cvtColor() cv2.inRange() 任务1:转换颜色空间 在 OpenCV 中有 超过150 种进行颜色空间转换的方法。但是你以后就会发现我们经常用到的也就两种:BGR↔Gray 和 BGR
事前准备: 使用工具Python3.5 使用包cv2,numpy,time,profile 涉及函数: cv2.getTickCount,cv2.getTickFrequency 任务1 使用OpenCV检测程序效率 cv2.getTickCount函数返回从参考点到这个函数被执行的时钟
准备工作 使用工具Python3.5 使用包cv2,numpy 涉及函数cv2.add() ,cv2.addWeighted() 任务1 图像加法 使用cv2.add()将两幅图像进行加法运算,也可以直接使用numpy,res=img1+img2.两幅图像的大小,类型必须一致,或者第二个图像可以是一个简单的标量值。 openCV的加法是一种饱和操作(大于255就按255算),而nump
提前准备 使用工具Python3.5 使用包cv2,numpy 任务1 获取并修改像素值 读取一副图像,根据像素的行和列的坐标获取它的像素值,对于RGB图像而言,返回RGB的值,对于灰度图则返回灰度值 import cv2 import numpy img = cv2.imread('45.jpg')
注释 本节对仿人视觉没什么作用,只是想把opencv里面的这个函数给讲一下,以后就算不用opencv去做仿人视觉,也可以派的上用场。 事先准备 使用库numpy;cv2 使用函数cv2.getTrackbarPos();cv2.creatTrackbar() cv2.creatTrackbar():可在显
准备工作 使用工具:Python3.5 涉及包:cv2 numpy 涉及函数 函数:cv2.setMouseCallback() 任务开始 简单的程序,在图片上双击过的位置绘制一个圆圈 任务1.创建鼠标事件回调函数,当鼠标事件发生时就会被执行。
准备 使用工具:Python3.5, 使用库: numpy opencv 涉及函数 涉及的函数:cv2.line() , cv2.circle() , cv2.rectangle() , cv2.ellipse() , cv2.putText()等 参数说明 需要设置的参数: im
主题 本章我们要学习的是运动物体的跟踪,现代图像处理中经典的几种跟踪方法主要是:meanshift(均值漂移),Camshift(meanshift的优化版本),KCF,光流法等。 我们本章主要介绍的是前两种,meanshift(均值漂移)以及Camshift(meanshift的优化版本) 均值漂移 首先我们需要了解什么是均值漂移,该算法是一种寻找概率函数离散样本的最大密度区域的算法,我
准备工作 使用库: numpy opencv 任务1 用摄像头捕获视频 cv2.VideoCapture() :0为默认计算机默认摄像头,1可以更换来源; import numpy as np import cv2 cap = cv2.VideoCapture(0) while(True): #capture frame-by-frame ret
事前准备 使用库: opencv,可以用pip install opencv-python来安装(注意!不是pip install opencv!!!) numpy(这个本节不用,但是以后经常要用到) 从零开始 我们先来讲从图片的导入和将灰度图另存到另一个地方 概念 彩色图:图片每个像素都由Blue,Green,Red三种通过颜色的搭配获得,每
主题 在本节中我们将描述一种称为图像修复的区域填充算法。 这种图片修复算法的作用是可以通过使用OpenCV模块来进行图片上异常划痕或斑点等噪线、噪点的修复,而且代码相对其他的图片修复算法而言要稍微简单一些。(最后效果类似于PhotoShop) 图像修复算法是计算机仿人视觉中的一类基本算法,算法的主要目标是填充图像或视频内的区域,该区域主要使用二进制掩模来进行标识,填充通常根据需要我们来填充的
主题 之前我们在 (Python)从零开始,简单快速学机器仿人视觉Opencv—运用三:物体运动跟踪 中已经学习了关于Meanshift和Camshift的运算,本章节将对其进行更好的优化。 没有看过之前章节内容的读者不用着急,为了方便观看,已经将前提章节中的内容移植了过来,第一看我写的文章的可以顺着往下读;如果是老读者的话,可以直接跳到下方 “优化” 区域,进行继续阅读。 &nbs
主题 本章我们要学习的是运动物体的跟踪,现代图像处理中经典的几种跟踪方法主要是:meanshift(均值漂移),Camshift(meanshift的优化版本),KCF,光流法等。 我们本章主要介绍的是前两种,meanshift(均值漂移)以及Camshift(meanshift的优化版本) 均值漂移 首先我们需要了解什么是均值漂移,该算法是一种寻找概率函数离散样本的最
主题 本章我们要学习的是目标物体检测,这里我们需要使用到SIFT特征提取,BOW词袋建立以及SVM支持向量机的知识(这些讲起来有点费劲(所以还是咕咕咕吧)),使用的数据集为UIUC数据集,可以去百度云盘免费下载,提取码为:wdzr。 这里我们要进行的是车辆的检测:检测图像中是否存在车辆,具体实现的我们可以将程序分为以下几步: 第1步:生成sift检测和提取器(注意:由
主题 视觉测距作为机器视觉领域内基础技术之一而受到广泛关注,其在机器人领域内占有重要的地位,被广泛应用于机器视觉定位、目标追踪、视觉避障等。 视觉测距主要分为单目测距、双目测距、结构光测距等。结构光由于光源的限制,应用的场合比较固定;而双目测距的难点在于特征点的匹配,会影响了测量的精度和效率,其理论研究的重点集中于特征的匹配上;而单目测距结构简单、运算速度快而具有广阔的应用前景,但是单目测距只
主题 首先我们先来看下我们的原图: 步骤1:加载图片,转成灰度图 image = cv2.imread("1.jpg") gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 执行完这一步,得到的图像如下:
古月居优秀创作者
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信