OpenCV笔记(6)(harris角点检测、背景建模)
一、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角点检测、背景建模)的更多相关文章
- opencv笔记6:角点检测
time:2015年10月09日 星期五 23时11分58秒 # opencv笔记6:角点检测 update:从角点检测,学习图像的特征,这是后续图像跟踪.图像匹配的基础. 角点检测是什么鬼?前面一篇 ...
- cv2.cornerHarris()详解 python+OpenCV 中的 Harris 角点检测
参考文献----------OpenCV-Python-Toturial-中文版.pdf 参考博客----------http://www.bubuko.com/infodetail-2498014. ...
- OpenCV教程(43) harris角的检测(1)
计算机视觉中,我们经常要匹配两幅图像.匹配的的方式就是通过比较两幅图像中的公共特征,比如边,角,以及图像块(blob)等,来对两幅图像进行匹配. 相对于边,角更适合描述图像特征, ...
- OpenCV教程(45) harris角的检测(3)
在前面一篇教程中,我们通过取局部最大值的方法来处理检测结果,但是从图像中可以看到harris角的分布并不均匀,在纹理颜色比较深的地方检测的harris角结果更密集一些.本章中,我们使用一个 ...
- OpenCV教程(44) harris角的检测(2)
在上一篇教程中,我们得到的harris特征角二值图中,角的数目特别多,本章我们用一个局部最大化的方法,只保留局部值最大的harris特征角. // Harris角计算 cv::corner ...
- 第十一节、Harris角点检测原理(附源码)
OpenCV可以检测图像的主要特征,然后提取这些特征.使其成为图像描述符,这类似于人的眼睛和大脑.这些图像特征可作为图像搜索的数据库.此外,人们可以利用这些关键点将图像拼接起来,组成一个更大的图像,比 ...
- opencv-角点检测之Harris角点检测
转自:https://blog.csdn.net/poem_qianmo/article/details/29356187 先看看程序运行截图: 一.引言:关于兴趣点(interest point ...
- Opencv学习笔记------Harris角点检测
image算法测试iteratoralgorithmfeatures 原创文章,转载请注明出处:http://blog.csdn.net/crzy_sparrow/article/details/73 ...
- OpenCV Harris 角点检测子
Harris 角点检测子 目标 本教程中我们将涉及: 有哪些特征?它们有什么用? 使用函数 cornerHarris 通过 Harris-Stephens方法检测角点. 理论 有哪些特征? 在计算机视 ...
随机推荐
- Spring @Import注解 —— 导入资源
在应用中,有时没有把某个类注入到IOC容器中,但在运用的时候需要获取该类对应的bean,此时就需要用到@Import注解.示例如下: 先创建两个类,不用注解注入到IOC容器中,在应用的时候在导入到当前 ...
- aws 预留实例到期监控
环境准备 安装python的aws 开发工具包 pip install boto3 配置aws账号 [root@zabbix service]# aws configure AWS Access Ke ...
- 简单nginx代理配置
nginx.conf: # For more information on configuration, see:# * Official English Documentation: http:// ...
- c++ 读入优化通用模板
struct ioss { #define endl '\n' ; char obuf[LEN], *oh = obuf; std::streambuf *fb; ioss() { ios::sync ...
- vue---EleElement UI 表格导出功能
步骤一:安装依赖 安装依赖:npm install --save xlsx file-saver 步骤二:在放置需要导出功能的组件中引入相关组件 import FileSaver from 'file ...
- Fiddler-打断点(bpu)
一.断点 1.为什么要打断点? 比如一个购买的金额输入框,输入框前端做了限制大于100,那么我们测试的时候,需要测试小于100的情况下.很显然前端只能输入大于100的.这时我们可以先抓到接口,修改请求 ...
- HDU 2018 Cow Story DP
Basic DP Problem URL:https://vjudge.net/problem/HDU-2018 Describe: There is a cow that gives birth t ...
- HDU 6662 Acesrc and Travel 换根DP,宇宙最傻记录
#include<bits/stdc++.h> typedef long long ll; using namespace std; const int maxn=1e6+50; cons ...
- GitHub从小白到熟悉<五>
GitHub 主页
- PHP与MySQL的连接
一.PHP的相关扩展 PHP与MySQL的交互需要要借助PHP提供的数据库扩展,在PHP中提供了多种数据库扩展,常用的MySQL扩展, MySQLi扩展和PDO扩展. 1.三者各自的特点: MySQL ...