opencv 去除背景
过程:先拍一张背景图,然后待去除背景的图片减去背景,然后二值化,再调用findContours得到轮廓,然后把必要的轮廓合并起来,最后用boundingRect包起来,作为ROI区域保存该区域内的图片
https://docs.opencv.org/3.1.0/d4/d73/tutorial_py_contours_begin.html
http://blog.csdn.net/sunny2038/article/details/12889059
http://blog.csdn.net/zhangxb35/article/details/47275277
import cv2
import numpy as np
from matplotlib import pyplot as plt
import globimport cv2
import numpy as np
from matplotlib import pyplot as plt
import globbackground = cv2.imread('background.bmp', 0)
files = sorted(glob.glob('*.bmp'))
for file in files:if file == 'background.bmp':continueimg0 = cv2.imread(file, 0)img = img0 - backgroundimageGray = cv2.GaussianBlur(img,(15,15),25); ret,thresh = cv2.threshold(imageGray,127,255,cv2.THRESH_BINARY_INV)im2, contours, hierarchy = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)cnt = np.row_stack((contours[i] for i in range(len(contours))))x, y, w, h = cv2.boundingRect(cnt)cv2.rectangle(img0, (x, y), (x+w, y+h), (255, 0, 0), 4)# cv2.drawContours(img, contours, len(contours)-1, (255,0,0), 3)# cv2.drawContours(img, contours, len(contours)-1, (255,0,0), 3)# print(len(contours))plt.imshow(img0)plt.show()img0 = cv2.imread(file)# roi = img0[x:x+w, y:y+h]roi = img0[y:y+h, x:x+w]cv2.imwrite(file.replace('bmp', 'jpg'), roi)
opencv 去除背景相关推荐
- opencv 去除背景算法的比较
最近做opencv项目时,使用肤色分割的方法检测目标物体时,背景带来的干扰非常让人头痛.于是先将背景分割出去,将影响降低甚至消除.由于初次接触opencv,叙述不当的地方还请指正. 背景减除法 (以下 ...
- 编程去除背景绿幕抠图,基于.NET+OpenCVSharp
摘要:本文介绍了一种使用OpenCVSharp对摄像头中的绿幕视频进行实时"抠人像.替换背景"的方式,对于项目中的算法进行了分析.本文中给出了简化OpenCVSharp中Mat.M ...
- Python OpenCV去除图片水印
问题描述 去除百度水印 1.jpg,背景简单 2.jpg,背景复杂 解决方案 安装 pip install opencv-python pip install numpy 方法一.OpenCV提取颜色 ...
- python利用opencv去除图片logo_python 基于opencv去除图片阴影
一.前言 如果你自己打印过东西,应该有过这种经历.如果用自己拍的图片,在手机上看感觉还是清晰可见,但是一打印出来就是漆黑一片.比如下面这两张图片: 因为左边的图片有大片阴影,所以打印出来的图片不堪入目 ...
- python 连通域面积_使用OpenCV去除面积较小的连通域
这是后期补充的部分,和前期的代码不太一样 效果图 源代码 //测试 void CCutImageVS2013Dlg::OnBnClickedTestButton1() { vector > co ...
- opencv去除图片的高光
opencv去除图片的高光 有明显的修补痕迹 https://blog.csdn.net/qq_43555843/article/details/102510425 参考这个: https://blo ...
- 用openCV去除文字中乱入的线条
用openCV去除文字中乱入的线条 原文:http://blog.csdn.net/sinat_28309919/article/details/73604109 目录(?)[+] 今天上午,朋友发来 ...
- OpenCV清除背景扣除background subtraction的实例(附完整代码)
OpenCV清除背景扣除background subtraction的实例 OpenCV清除背景扣除background subtraction的实例 OpenCV清除背景扣除background s ...
- html中如何淡化背景图片,excel怎么去除背景图片
在excel本身存在背景图片的是后,却发现与excel不相匹配,这时,该怎么去除背景图片呢,下面让学习啦小编为你带来excel怎么去除背景图片设置的方法. excel去除背景图片设置步骤: ①选择工作 ...
最新文章
- 用vs2010编译vigra静态库及简单使用举例
- OpenCV 实战:3 步实现图像降噪
- html5自定义属性作用,html5自定义属性:如何获取自定义属性值(附代码)
- 目标还是中国人,纽约智慧城市项目想通过EB-5募资10亿
- 学习 spring-boot (一)
- 【推荐系统】协同过滤 零基础到入门
- 黑客变身夜 | 程序员名画Cosplay指南
- windows下安装nginx (转载自:http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/)
- zzuli-1726:迷宫(语文功底题。。。)
- sklearn自学指南(part27)--邻域成分分析
- python elasticsearch update_使用python的elasticsearch部分更新
- ubuntu 软件包降级
- 大数据集群搭建之节点的网络配置过程(二)
- Java同步—线程池的创建和使用
- (Java 多线程系列)java synchronized详解
- [Unity-24] Unity的四种载入场景的方法
- WAP PUSH——服务信息
- Mybatis源码SqlSession源码分析
- dl388g8 惠普 linux 网卡驱动,hp dl388 gen9驱动下载
- 按键精灵不成熟的大漠游戏自动加血保护代码 大漠字库使用案例