1.Harris角点检测

# coding=utf-8
import cv2
import numpy as np filename = 'pic5.png' #1.读入一个灰度图像
img = cv2.imread(filename)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
cv2.imshow('gray',gray) #2.执行角点检测函数
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04) #函数 cv2.cornerHarris() 可以用来进行角点检测
#数据类型为 float32 的输入图像
# 2:角点检测中要考虑的领域大小
#3: Sobel 求导中使用的窗口大小
#Harris 角点检测方程中的自由参数,取值参数为 [0,04,0.06] dst = cv2.dilate(dst,None) #扩大标记角
img[dst>0.01*dst.max()] = [0,0,255] #阈值为一个最佳值,它可能会根据图像而变化。 cv2.imshow('dst',img) cv2.waitKey(0)
cv2.destroyAllWindows()

2.Shi-Tomasi角点检测&适合跟踪的图像特征

    

# coding=utf-8

import cv2
import numpy as np
from matplotlib import pyplot as plt #1.读入图像,灰度
filename = 'pic5.png'
filename2 = 'woman.JPEG' img = cv2.imread(filename2)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #2.执行角点函数 cv2.goodFeaturesToTrack
corners = cv2.goodFeaturesToTrack(gray,50,0.01,10)
#50个最佳点
#0.01 角点的质量水平,0到 1 之间
# 返回的结果是 [[ 311., 250.]] 两层括号的数组。 corners = np.int0(corners) #3.在img标记角点
for i in corners:
x,y = i.ravel()
cv2.circle(img,(x,y),3,255,-1) plt.imshow(img)
plt.show()

    

day6 角点检测的更多相关文章

  1. harris角点检测的学习

    Harris通过运用微分运算和自相关矩阵改进了Moravec角点检测算法.用微分算子重新定义灰度强度变化的公式,其灰度强度变化表示为: 式中的wu,v为高斯窗口在(u,v)处的系数.X,Y它们是像素点 ...

  2. Harris角点检测算法优化

    Harris角点检测算法优化 一.综述 用 Harris 算法进行检测,有三点不足:(1 )该算法不具有尺度不变性:(2 )该算法提取的角点是像素级的:(3 )该算法检测时间不是很令人满意. 基于以上 ...

  3. Shi-Tomasi角点检测

    代码示例: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #inc ...

  4. Harris角点检测

    代码示例一: #include<opencv2/opencv.hpp> using namespace cv; int main(){ Mat src = imread(); imshow ...

  5. opencv笔记6:角点检测

    time:2015年10月09日 星期五 23时11分58秒 # opencv笔记6:角点检测 update:从角点检测,学习图像的特征,这是后续图像跟踪.图像匹配的基础. 角点检测是什么鬼?前面一篇 ...

  6. Harris 角点检测

    一 .Motivation 对于做图像处理的人来说,Harris角点检测肯定听过,1988年发表的文章"A combined corner and edge detector"描述 ...

  7. Harris角点检测算原理

    主要参考了:http://blog.csdn.net/yudingjun0611/article/details/7991601  Harris角点检测算子 本文将该文拷贝了过来,并做了一些数学方面的 ...

  8. DOG角点检测——opencv实现

    1.原理 Difference of Gaussian(DOG)是高斯函数的差分.将两幅图像在不同参数下的高斯滤波结果相减,得到DoG图.步骤: 处理一幅图像在不同高斯参数下的DoG 用两个不同的5x ...

  9. OpenCV探索之路(十五):角点检测

    角点检测是计算机视觉系统中用来获取图像特征的一种方法.我们都常说,这幅图像很有特点,但是一问他到底有哪些特点,或者这幅图有哪些特征可以让你一下子就识别出该物体,你可能就说不出来了.其实说图像的特征,你 ...

随机推荐

  1. JavaScript浏览器对象模型(BOM)之history对象

    history 对象是 window 对象的属性,它保存着用户上网的记录,从窗口被打开的那一刻算起. 一.history对象的属性 可以通过判断 history.length,得到是否有历史记录和记录 ...

  2. 洛谷 P4783 【模板】矩阵求逆

    题目分析 模板题. #include <bits/stdc++.h> using namespace std; typedef long long ll; const int mod=1e ...

  3. 【php】获取ip

    addBoard.php中获取到ip $ip=$_SERVER['REMOTE_ADDR']; 通过ajax采取POST方式发送到服务器 $("#submit").on(" ...

  4. Kali-linux使用Metasploitable操作系统

    Metasploitable是一款基于Ubuntu Linux的操作系统.该系统是一个虚拟机文件,从http://sourceforge.net/projects/metasploitable/fil ...

  5. php is_callable()与method_exists()函数

    总结就是 method_exists()检查方法是否存在 is_callable()是否存在并可在当前作用域是否可调用

  6. JSP基本指令

    jsp命令指令用来设置与整个jsp页面相关的属性,它并不直接产生任何可见的输出,而只是告诉引擎如何处理其余JSP页面.其一般语法形式为: <%@ 指令名称 属性=“值”%> 三种命令指令分 ...

  7. Angular动态表单生成(三)

    ng-dynamic-forms实践篇(上) 定个小目标 先来定个小目标吧,我们要实现的效果: 动态生成一个表单,里面的字段如下: 字段名称 字段类型 验证 备注 姓名 text 必填,长度小于15 ...

  8. C#利用反射动态创建对象 带参数的构造函数和String类型 (转载)

    最近笔者有一个想法需要利用反射动态创建对象(如string,int,float,bool,以及自定义类等)来实现,一直感觉反射用不好,特别是当构造函数带参数的时候.MSDN上给出的例子十分复杂,网上的 ...

  9. HTML小记

    1.页面内跳转 当<a>元素用于页面内的锚点跳转时,应该先为该页面设置一些锚点,而定义锚点有两种办法: 通过<a>元素的name属性来定义,如:<a name=" ...

  10. python3 使用pyinstaller打包可执行程序

    步骤 1.使用pip安装pyinstaller pip install pyinstaller 2. 使用pyinstaller打包程序 pyinstaller -F xxx.py pyinstall ...