一、Harris角点

如上图所示,红色框AB都是平面,蓝色框CD都是边缘,而绿色框EF就是角点。

平面:框往X或Y抽移动,变化都很小。

边缘:框沿X或Y轴移动,其中一个变化很小,而另外一个变化比较大。

角点:框沿X或Y轴移动,两个变化都比较大。

见《图像基础》笔记第7页

二、背景建模

使用帧差法:

即用后一帧图像减去前一帧图像,得到运动的物体,但是会出现空洞(前景物体的一个面灰度变化不大,减完得到接近0的数)。

使用GMM方法:

# -*- coding:utf-8 -*-
__author__ = 'Leo.Z' import cv2 as cv # 打开媒体流
cap = cv.VideoCapture('rtsp://admin:bs12345678@171.221.219.92:554/PSIA/streaming/channels/1201')
# 创建一个形态学kernel
kernel = cv.getStructuringElement(cv.MORPH_ELLIPSE, (5, 5))
# 创建MOG2
fgbg = cv.createBackgroundSubtractorMOG2() while (True):
# 读取一帧
ret, frame = cap.read()
# MOG2运用到每一帧
fgmask = fgbg.apply(frame)
# 使用形态学开操作
fgmask = cv.morphologyEx(fgmask, cv.MORPH_OPEN, kernel)
# 找轮廓
contours, hierarchy = cv.findContours(fgmask, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE) for c in contours:
# 计算每个轮廓的周长
perimeter = cv.arcLength(c, True)
# 周长大于188的则用方框框起来
if perimeter > 188:
# 获取轮廓的外接矩形
x, y, w, h = cv.boundingRect(c)
cv.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2) cv.imshow('frame', frame)
cv.imshow('fgmask', fgmask)
k = cv.waitKey(10) & 0xff
if k == 27:
break
# 释放cap
cap.release()
# 关闭所有窗口
cv.destroyAllWindows()

OpenCV笔记(6)(harris角点检测、背景建模)的更多相关文章

  1. opencv笔记6:角点检测

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

  2. cv2.cornerHarris()详解 python+OpenCV 中的 Harris 角点检测

    参考文献----------OpenCV-Python-Toturial-中文版.pdf 参考博客----------http://www.bubuko.com/infodetail-2498014. ...

  3. OpenCV教程(43) harris角的检测(1)

          计算机视觉中,我们经常要匹配两幅图像.匹配的的方式就是通过比较两幅图像中的公共特征,比如边,角,以及图像块(blob)等,来对两幅图像进行匹配.      相对于边,角更适合描述图像特征, ...

  4. OpenCV教程(45) harris角的检测(3)

          在前面一篇教程中,我们通过取局部最大值的方法来处理检测结果,但是从图像中可以看到harris角的分布并不均匀,在纹理颜色比较深的地方检测的harris角结果更密集一些.本章中,我们使用一个 ...

  5. OpenCV教程(44) harris角的检测(2)

          在上一篇教程中,我们得到的harris特征角二值图中,角的数目特别多,本章我们用一个局部最大化的方法,只保留局部值最大的harris特征角. // Harris角计算 cv::corner ...

  6. 第十一节、Harris角点检测原理(附源码)

    OpenCV可以检测图像的主要特征,然后提取这些特征.使其成为图像描述符,这类似于人的眼睛和大脑.这些图像特征可作为图像搜索的数据库.此外,人们可以利用这些关键点将图像拼接起来,组成一个更大的图像,比 ...

  7. opencv-角点检测之Harris角点检测

    转自:https://blog.csdn.net/poem_qianmo/article/details/29356187 先看看程序运行截图:   一.引言:关于兴趣点(interest point ...

  8. Opencv学习笔记------Harris角点检测

    image算法测试iteratoralgorithmfeatures 原创文章,转载请注明出处:http://blog.csdn.net/crzy_sparrow/article/details/73 ...

  9. OpenCV Harris 角点检测子

    Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...

随机推荐

  1. Nexus2 yum插件RCE漏洞(CVE-2019-5475)

    1.漏洞简介: 安全研究员Christian August Holm Hansen在Nexus Repository Manager 2.X中披露了一个远程命令执行漏洞. 该漏洞默认具有部署权限帐户. ...

  2. Java基础(十)

    复习 静态方法与成员方法 //另一个类里的静态和成员方法 public class MyClass { //静态方法 public static void method2() { System.out ...

  3. 设计模式:建造者模式(Builder)

    流水作业大家应该都清楚吧!在流水作业中,我们可以将一些复杂的东西给构建出来,例如汽车.我们都知道汽车内部构件比较复杂,由很多部件组成,例如车轮.车门.发动机.方向盘等等,对于我们用户来说我们并不需要知 ...

  4. jQuery Mobile Slider Widget 使用js控制

    jQuery Mobile 滑动条控件 基本用法不用多说了,看这里: http://www.runoob.com/jquerymobile/jquerymobile-form-sliders.html ...

  5. Hive 教程(十)-UDF

    hive 虽然自带了很多函数,但是毕竟有限,无法满足所有业务场景,用户可以自定义函数来实现特定功能 UDF user define function,用户自定义函数 可以分为 3 类 UDF:一进一出 ...

  6. 加快ALTER TABLE 操作速度

    mysql的alter table操作的性能对于大表来说是个大问题.mysql大部分修改表结构操作的方法都是用新的结构创建一个 新表,从旧表中查出数据插入新表,然后在删除旧表.这样的操作很耗费时间,而 ...

  7. JsonObject、JsonArray操作json的个人总结

    介绍 JsonObject.JsonArray之前,先介绍下JsonConfig JsonConfig: setClassMap(Map classMap)设置json属性类型,上json里的其中值为 ...

  8. vs nuget找不到包

    nuget.org https://api.nuget.org/v3/index.json

  9. Java中“==”与equals的区别以及equals方法的重写

    一.“==”与equals的区别: (1)==代表比较双方是否相同: 基本数据类型表示值相等. 引用数据类型表示地址相等,即同一个对象. (2)Object中的equals()方法:是否为同一个对象的 ...

  10. yii的多表查询

    获取用户发布消息的指定消息id的总和点赞数 Yii $productIds = ['2260', '2262', '2263', '2268', '2269']; $plSql = Like::fin ...