图像处理
文章平均质量分 64
图像处理
John9ML
这个作者很懒,什么都没留下…
展开
-
SIFT,SURF,ORB,FAST,BRIEF特征提取算法的比较
SIFT特征和SURF特征比较比较项目 SIFT SURF 尺度空间极值检测 使用高斯滤波器,根据不同尺度的高斯差(DOG)图像寻找局部极值 使用方形滤波器,利用海森矩阵的行列式值检测极值,并利用积分图加速运算 关键点定位 通过邻近信息插补来定位 与SIFT类似 方向定位 通过计算关键点局部邻域的方向直方图,寻找直方图中最大值的方向作为关键...原创 2020-12-03 15:02:42 · 1696 阅读 · 0 评论 -
SIFT算法
(Scale-Invariant Feature Transform)SIFT算法即尺度不变换特征算法,可以解决以下这种问题:图像在缩放、平移、旋转后会出现特征损失现象。需要注意的是,SIFT并不检测关键点(关键点可以由Difference of Gaussians即DoG检测),但SIFT会通过一个特征向量来描述关键点周围区域的情况,这个特征向量就是SIFT算子。 SI...原创 2020-12-03 15:02:30 · 650 阅读 · 0 评论 -
图像局部特征点的理解
图像特征提取是图像分析与图像识别的前提,它是将高维的图像数据进行简化表达最有效的方式,从一幅图像的M×N×3的数据矩阵中,我们看不出任何信息,所以我们必须根据这些数据提取出图像中的关键信息,一些基本元件以及它们的关系。局部特征点是图像特征的局部表达,它只能反正图像上具有的局部特殊性,所以它只适合于对图像进行匹配,检索等应用。对于图像理解则不太适合。而后者更关心一些全局特征,如颜色分布,纹理特征...转载 2018-09-12 12:34:04 · 1067 阅读 · 0 评论 -
DP问题之几类爬楼梯问题的Python实现
DP问题关键:写出状态转移方程一、入门级爬楼梯这是最最最常规,也是大家见的最多的爬楼梯的题,题目详见leetcode 70 Climbing Stairs也就是小明同学爬n级楼梯,他一次可以上一级也可以上两级,问小明有多少种上楼梯的办法。实际上,早在上高中学数列的时候,老师应该就介绍过一种特殊的数列叫斐波那契数列(1,1,3,5,8,13……),这个入门级的爬楼梯问题实际上就遵循斐波那...原创 2018-09-10 22:16:16 · 4379 阅读 · 0 评论 -
关于ADAS
ADAS是Advanced Driver Assistance System的简称,翻译成中文的意思就是高级驾驶辅助系统。翻译成白话文就是,就是利用安装在车上的各式各样传感器收集数据,并结合地图数据进行系统计算,从而预先为驾驶者判断可能发生的危险,保证行车的安全性。在这里我们要明确一个概念,ADAS不是现在非常红的自动驾驶,可以说这两者的研究重点完全不同。ADAS是辅助驾驶,核心是环境感知...转载 2018-09-10 18:32:02 · 1209 阅读 · 1 评论 -
自动驾驶分级
国际汽车工程师学会(SAEInternational)于2014年发布了自动驾驶的六级分类体系,美国国家公路交通安全管理局(NHTSA)原本有自己的一套分类体系,但在2016年9月转为使用SAE的分类标准。今天绝大多数主流自动驾驶研究者已将SAE标准当作通行的分类原则。SAE标准将自动驾驶技术分为0级、1级、2级、3级、4级、5级,共六个级别。具体的级别划分和描述如下页图表99所示: ...原创 2018-09-10 16:50:01 · 2237 阅读 · 0 评论 -
python绘图函数
常用的绘图函数:cv2.line(), cv2.circle(), cv2.rectangle(),cv2.ellipse(), cv2.putText() 上面所有的这些绘图函数需要设置下面这些参数:• img:你想要绘制图形的那幅图像。• color:形状的颜色。以 RGB 为例,需要传入一个元组,例如: (255,0,0)代表蓝色。对于灰度图只需要传入灰度值。• thick...转载 2018-08-26 13:44:46 · 5072 阅读 · 0 评论 -
opencv 图像金字塔
学习图像金字塔使用图像创建一个新水果:“橘子苹果”学习的函数有: cv2.pyrUp(), cv2.pyrDown()1、原理 一般情况下,我们要处理是一副具有固定分辨率的图像,但是有些情况下,需要对同一图像的不同分辨率的子图像进行处理。比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸大小,这种情况下,我们需要创建创建一组图像,这些图像是具有不同分辨率的原始...转载 2018-08-26 13:03:43 · 861 阅读 · 0 评论 -
openCV+python图像的读取、显示和保存
使用cv2.imread(),cv2.imshow(),cv2.imwrite()读取、显示和保存图像一、读入图像使用函数cv2.imread(filepath,flags)读入一副图片filepath:要读入图片的完整路径 flags:读入图片的标志 cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道 cv2.IMREAD_GRAYSCALE:读...转载 2018-08-26 13:00:25 · 3948 阅读 · 0 评论 -
opencv-python中 boundingRect(cnt)以及cv2.rectangle用法
矩形边框(Bounding Rectangle)是说,用一个最小的矩形,把找到的形状包起来。还有一个带旋转的矩形,面积会更小,效果见下图上代码首先介绍下cv2.boundingRect(img)这个函数这个函数很简单,img是一个二值图,也就是它的参数;返回四个值,分别是x,y,w,h;x,y是矩阵左上点的坐标,w,h是矩阵的宽和高然后利用cv2.rectangle(i...转载 2018-08-26 12:58:35 · 3095 阅读 · 2 评论 -
opencv 二值化函数——cv2.threshold
threshold:固定阈值二值化,ret, dst = cv2.threshold(src, thresh, maxval, type)1src: 输入图,只能输入单通道图像,通常来说为灰度图 dst: 输出图 thresh: 阈值 maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值 type:二值化操作的类型,包含以下5种类型: cv2.TH...转载 2018-08-26 11:27:15 · 15342 阅读 · 3 评论 -
opencv轮廓
轮廓检测轮廓检测也是图像处理中经常用到的。OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。实现使用方式如下: import cv2 img = cv2.imread('D:\\test\\contour.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR...转载 2018-08-26 11:24:09 · 391 阅读 · 0 评论 -
canny边缘检测
Canny边缘检测器是一种被广泛使用的算法,并被认为是边缘检测最优的算法,该方法使用了比高斯差分算法更复杂的技巧,如多向灰度梯度和滞后阈值化。 Canny边缘检测器算法基本步骤:平滑图像:通过使用合适的模糊半径执行高斯模糊来减少图像内的噪声。 计算图像的梯度:这里计算图像的梯度,并将梯度分类为垂直、水平和斜对角。这一步的输出用于在下一步中计算真正的边缘。 非最大值抑制:利用上一步计...原创 2018-08-26 10:47:37 · 641 阅读 · 0 评论 -
opencv函数
cv2.imread()cv2.imwrite()cv2.imshow()cv2.waitKey()cv2.split()cv2.merge()cv2.GaussianBlur()cv2.blur()cv2.medianBlur()cv2.Laplacian()cv2.Sobel()cv2.Scharr()cv2.Canny()cv2.thres...原创 2018-08-26 13:51:09 · 359 阅读 · 0 评论 -
图像处理基本概念——卷积,滤波,平滑
1.图像卷积(模板)(1).使用模板处理图像相关概念: 模板:矩阵方块,其数学含义是一种卷积运算。 卷积运算:可看作是加权求和的过程,使用到的图像区域中的每个像素分别于卷积核(权矩阵)的每个元素对应相乘,所有乘积之和作为区域中心像素的新值。 卷积核:卷积时使用到的权用一个矩阵表示,该矩阵是一个权矩阵。 卷积示例: ...转载 2018-08-25 18:49:17 · 3952 阅读 · 0 评论 -
图像处理之低通滤波
在图像处理或者计算机视觉应用中,在正式对图像进行分析处理前一般需要一个预处理的过程。预处理是对图像作一些诸如降维、降噪的操作,主要是为后续处理提供一个体积合适的、只包含所需信息的图像。这里通常会用到一些滤波处理手法。滤波,实际上是信号处理里的一个概念,而图像本身也可以看成是一个二维的信号,其中像素点灰度值的高低代表信号的强弱。对应的高低频的意义:高频:图像中灰度变化剧烈的点,一般是图像轮廓或者...转载 2018-08-25 18:37:56 · 48906 阅读 · 5 评论 -
关于傅里叶变换与图像处理
傅里叶变换公式公式描述:公式中F(ω)为f(t)的像函数,f(t)为F(ω)的像原函数。(灰度)图像是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由 z=f(x,y)来表示,故:二维傅里叶变换二维Fourier变换:逆变换:以上公式晦涩难懂,表现在应用层面的解释如下 首先,一维的傅里叶...原创 2018-08-25 15:27:44 · 1089 阅读 · 0 评论 -
查看深度学习(图像)开发环境中的各种工具版本Ubuntu16.04
1.查看python版本:略2.查看conda版本:conda -V3.查看cuda与cudnn版本:cuda一般安装在 /usr/local/cuda/ 路径下,该路径下有一个version.txt文档,里面记录了cuda的版本信息cat /usr/local/cuda/version.txt 即可查询同理,cudnn的信息在其头文件里cat /usr/loca...原创 2018-08-25 10:20:48 · 897 阅读 · 0 评论 -
关于数据集(你知道哪些数据集?)(图像)
1.MNISTMNIST是最受欢迎的深度学习数据集之一,这是一个手写数字数据集,包含一组60,000个示例的训练集和一个包含10,000个示例的测试集。这是一个很好的数据库,用于在实际数据中尝试学习技术和深度识别模式,同时可以在数据预处理中花费最少的时间和精力。大小: 50 MB记录数量: 70,000张图片被分成了10个组。下载地址:http://yann.lecun.com...原创 2018-08-24 10:42:45 · 5614 阅读 · 0 评论