python opencv3 特征提取与描述 DoG SIFT hessian surf
git:https://github.com/linyi0604/Computer-Vision
DoG和SIFT特征提取与描述
# coding:utf-8 import cv2 # 读取图片
img = cv2.imread("../data/walez1.jpg")
# 转为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 创建一个sift对象 并计算灰度图像
sift = cv2.xfeatures2d.SIFT_create()
keypoints, descriptor = sift.detectAndCompute(gray, None)
"""
sift对象会使用DoG检测关键点,对关键点周围的区域计算向量特征,检测并计算
返回 关键点和描述符
关键点是点的列表
描述符是检测到的特征的局部区域图像列表 关键点的属性:
pt: 点的x y坐标
size: 表示特征的直径
angle: 特征方向
response: 关键点的强度
octave: 特征所在金字塔层级
算法进行迭代的时候, 作为参数的图像尺寸和相邻像素会发生变化
octave属性表示检测到关键点所在的层级
ID: 检测到关键点的ID """
# 在图像上绘制关键点
# DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS表示对每个关键点画出圆圈和方向
img = cv2.drawKeypoints(image=img, outImage=img, keypoints=keypoints,
flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS,
color=(51, 163, 236)) cv2.imshow("sift_keypoints", img)
cv2.waitKey()
cv2.destroyAllWindows()
hessian 与SURF特征提取与匹配
# coding:utf-8
import cv2
img = cv2.imread("../data/walez1.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
surf = cv2.xfeatures2d.SURF_create(8000)
"""
创建surf对象,设置阈值,阈值越高检测到的特征就越少,
通过调整阈值得到合适的关键点
"""
# 检测图像中的关键点和描述
keypoints, descriptor = surf.detectAndCompute(gray, None)
"""
sift对象会使用DoG检测关键点,对关键点周围的区域计算向量特征,检测并计算
返回 关键点和描述符
关键点是点的列表
描述符是检测到的特征的局部区域图像列表
关键点的属性:
pt: 点的x y坐标
size: 表示特征的直径
angle: 特征方向
response: 关键点的强度
octave: 特征所在金字塔层级
算法进行迭代的时候, 作为参数的图像尺寸和相邻像素会发生变化
octave属性表示检测到关键点所在的层级
ID: 检测到关键点的ID
"""
# 将关键点画在原图像上
cv2.drawKeypoints(image=img, outImage=img,
keypoints=keypoints,flags=4,
color=(51, 163, 236))
cv2.imshow("surf_detected", img)
cv2.waitKey()
cv2.destroyAllWindows()

python opencv3 特征提取与描述 DoG SIFT hessian surf的更多相关文章
- 在OpenCV3.1.0中使用SIFT,SURF算法
写在前边: 1.我使用的是python2.7 + OpenCV3.1.0 2.OpenCV3.0.0+的文档有很大问题,很多文档写的还是OpenCV2.0+, OpenCV3.0+根本用不了,其中有一 ...
- [OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (一)
部分 V图像特征提取与描述 OpenCV-Python 中文教程(搬运)目录 29 理解图像特征 目标本节我会试着帮你理解什么是图像特征,为什么图像特征很重要,为什么角点很重要等.29.1 解释 我相 ...
- sift、surf、orb 特征提取及最优特征点匹配
目录 sift sift特征简介 sift特征提取步骤 surf surf特征简介 surf特征提取步骤 orb orb特征简介 orb特征提取算法 代码实现 特征提取 特征匹配 附录 sift si ...
- 【CV现状-3.3】特征提取与描述
#磨染的初心--计算机视觉的现状 [这一系列文章是关于计算机视觉的反思,希望能引起一些人的共鸣.可以随意传播,随意喷.所涉及的内容过多,将按如下内容划分章节.已经完成的会逐渐加上链接.] 缘起 三维感 ...
- [OpenCV-Python] OpenCV 中图像特征提取与描述 部分 V (二)
部分 V图像特征提取与描述 OpenCV-Python 中文教程(搬运)目录 34 角点检测的 FAST 算法 目标 • 理解 FAST 算法的基础 • 使用 OpenCV 中的 FAST 算法相关函 ...
- 特征描述算子-sift
特征描述算子-sift http://boche.github.io/download/sift/Introduction%20to%20SIFT.pdf
- Computer Vision_33_SIFT:ORB_An efficient alternative to SIFT or SURF——2012
此部分是计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面.对于自己不太熟悉的领域比如摄像机标定和立体视觉,仅仅列出上google上引用次数比较多的文献.有一些刚刚出版的 ...
- Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
Sift和Surf算法实现两幅图像拼接的过程是一样的,主要分为4大部分: 1. 特征点提取和描述 2. 特征点配对,找到两幅图像中匹配点的位置 3. 通过配对点,生成变换矩阵,并对图像1应用变换矩阵生 ...
- python opencv3添加opencv-contrib
不需要编译或其他操作,只需一句话安装第三方库利用sift等特征提取算法: sudo pip3 install opencv-contrib-python 附网站:https://pypi.python ...
随机推荐
- 针对用户在个人中心绑定手机认证的一些js代码。
需求: 1:手机号码校验(格式的校验,手机号码是否已经绑定过)---未实现 2:填完手机号码,点击发送验证码,手机会收到一条信息 3:发送验证码按钮不可用,变成重新发送的倒计时 1):60秒以后又可以 ...
- mysql手工注入步骤
1.一般用 ' " ) 等符号来闭合,再用%23(即#)来注释后面语句. 2.查找数据库,先用order by n猜字段,再用union select 1,2,3 ...n%23来查询. ...
- 多进程+协程 处理IO问题
from multiprocessing import Pool import gevent,os import time def recursion(n): if n == 1 or n ==2: ...
- Request爬取网站(seo.chinaz.com)百度权重的查询结果
一:脚本需求 利用Python3查询网站权重并自动存储在本地数据库(Mysql数据库)中,同时导出一份网站权重查询结果的EXCEL表格 数据库类型:MySql 数据库表单名称:website_weig ...
- 【译】第十篇 Integration Services:高级事件行为
本篇文章是Integration Services系列的第十篇,详细内容请参考原文. 简介在前一篇, we introduced fault tolerance by examining method ...
- java连接redis无法连接,报异常RedisConnectionException
不管是spring还是原生jedis连接redis,如果连不上多半是linux服务器的问题: 1 首先确保redis端口开放: 把6379或者redis的端口开放即可 2 redis.conf配置注释 ...
- 怎么看innodb的B+TREE层数?
怎么看innodb的B+TREE层数?,下面以sysbench_testdata.sbtest2为例查看索引层数: - 查看相关系统 root@localhost [sysbench_testdata ...
- 二叉树前中后/层次遍历的递归与非递归形式(c++)
/* 二叉树前中后/层次遍历的递归与非递归形式 */ //*************** void preOrder1(BinaryTreeNode* pRoot) { if(pRoot==NULL) ...
- angular 如何使用第三方组件ng-bootstrap
1.在你的项目中以下指令 npm install --save @ng-bootstrap/ng-bootstrap 安装完成会显示 + @ng-bootstrap/ng-bootstrap@1 ...
- Python基础(2):__doc__、文档字符串docString、help()
OS:Windows 10家庭中文版,Python:3.6.4 Python中的 文档字符串(docString) 出现在 模块.函数.类 的第一行,用于对这些程序进行说明.它在执行的时候被忽略,但会 ...