Python下应用opencv 背景消除或图片减法

本文介绍了如何使用Python和OpenCV进行背景消除,通过将两张图片进行减法运算,检测出前景对象。文章详细阐述了从导入图片、灰度化处理、背景减法、二值化到边框检测的整个过程,旨在帮助读者理解并实现背景减法技术。
摘要由CSDN通过智能技术生成

背景消除或背景减法是这样一种假设。我们有2个图片,一个是静止的,比如场景,没有需要检测的东西,另一个照片则包含了要检测的对象,但他是侵入了背景里的东西,或对象。我们就是要检测这个东西,比如商场进入的小偷,老鼠,或者马路上通过的车辆。

利用背景减法,我们容易找到我们感兴趣的东西。先看看下面2张图片:

右边图片是我们的背景,左边图片是我们的结果,我们找到感兴趣的部分,就是框起来的部分。框起来前就是我们对比的图片,或者叫变化的图片。有这个教授坐在椅子上的部分。

本程序除了opencv 要安装好外,还要装好imutils。imutils 的下载和安装在 Python 下应用opencv 的简单功能演示 一文中有介绍。

本文的原始代码来自 https://www.pyimagesearch.com/2016/11/21/raspbian-opencv-pre-configured-and-pre-installed/ 的一个教学讲稿。 

代码开始部分

注释里介绍使用方法:

python image_sub.py --bg 背景文件名  --fg 前景文件名

然后输入必要的包,命令行参数处理,这里有缺省参数,你可修改default 后的文件路径和名

# USAGE 使用方法
# python image_sub.py --bg images/bg.jpg --fg images/adrian.jpg

# import the necessary packages  输入必要的包
import numpy as np
import argparse
import imutils
import cv2

# construct the argument parser and parse the arguments
# 命令行参数处理,2个图片都存在imges 目录里,这里提供缺省值
# 这根据你的情况,更改default 后的文件名,当然也可命令行输入
ap = argparse.ArgumentParser()
ap.add_argument("-b", "--bg", default=
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值