过程:先拍一张背景图,然后待去除背景的图片减去背景,然后二值化,再调用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 去除背景相关推荐

  1. opencv 去除背景算法的比较

    最近做opencv项目时,使用肤色分割的方法检测目标物体时,背景带来的干扰非常让人头痛.于是先将背景分割出去,将影响降低甚至消除.由于初次接触opencv,叙述不当的地方还请指正. 背景减除法 (以下 ...

  2. 编程去除背景绿幕抠图,基于.NET+OpenCVSharp

    摘要:本文介绍了一种使用OpenCVSharp对摄像头中的绿幕视频进行实时"抠人像.替换背景"的方式,对于项目中的算法进行了分析.本文中给出了简化OpenCVSharp中Mat.M ...

  3. Python OpenCV去除图片水印

    问题描述 去除百度水印 1.jpg,背景简单 2.jpg,背景复杂 解决方案 安装 pip install opencv-python pip install numpy 方法一.OpenCV提取颜色 ...

  4. python利用opencv去除图片logo_python 基于opencv去除图片阴影

    一.前言 如果你自己打印过东西,应该有过这种经历.如果用自己拍的图片,在手机上看感觉还是清晰可见,但是一打印出来就是漆黑一片.比如下面这两张图片: 因为左边的图片有大片阴影,所以打印出来的图片不堪入目 ...

  5. python 连通域面积_使用OpenCV去除面积较小的连通域

    这是后期补充的部分,和前期的代码不太一样 效果图 源代码 //测试 void CCutImageVS2013Dlg::OnBnClickedTestButton1() { vector > co ...

  6. opencv去除图片的高光

    opencv去除图片的高光 有明显的修补痕迹 https://blog.csdn.net/qq_43555843/article/details/102510425 参考这个: https://blo ...

  7. 用openCV去除文字中乱入的线条

    用openCV去除文字中乱入的线条 原文:http://blog.csdn.net/sinat_28309919/article/details/73604109 目录(?)[+] 今天上午,朋友发来 ...

  8. OpenCV清除背景扣除background subtraction的实例(附完整代码)

    OpenCV清除背景扣除background subtraction的实例 OpenCV清除背景扣除background subtraction的实例 OpenCV清除背景扣除background s ...

  9. html中如何淡化背景图片,excel怎么去除背景图片

    在excel本身存在背景图片的是后,却发现与excel不相匹配,这时,该怎么去除背景图片呢,下面让学习啦小编为你带来excel怎么去除背景图片设置的方法. excel去除背景图片设置步骤: ①选择工作 ...

最新文章

  1. 用vs2010编译vigra静态库及简单使用举例
  2. OpenCV 实战:3 步实现图像降噪
  3. html5自定义属性作用,html5自定义属性:如何获取自定义属性值(附代码)
  4. 目标还是中国人,纽约智慧城市项目想通过EB-5募资10亿
  5. 学习 spring-boot (一)
  6. 【推荐系统】协同过滤 零基础到入门
  7. 黑客变身夜 | 程序员名画Cosplay指南
  8. windows下安装nginx (转载自:http://blog.163.com/njut_wangjian/blog/static/1657964252013327103716818/)
  9. zzuli-1726:迷宫(语文功底题。。。)
  10. sklearn自学指南(part27)--邻域成分分析
  11. python elasticsearch update_使用python的elasticsearch部分更新
  12. ubuntu 软件包降级
  13. 大数据集群搭建之节点的网络配置过程(二)
  14. Java同步—线程池的创建和使用
  15. (Java 多线程系列)java synchronized详解
  16. [Unity-24] Unity的四种载入场景的方法
  17. WAP PUSH——服务信息
  18. Mybatis源码SqlSession源码分析
  19. dl388g8 惠普 linux 网卡驱动,hp dl388 gen9驱动下载
  20. 按键精灵不成熟的大漠游戏自动加血保护代码 大漠字库使用案例

热门文章

  1. 【考研政治】2021肖八整理(时政部分)
  2. Android开发基础——RecyclerView
  3. 90-95年CPU功耗感知调度研究
  4. python 图像填充颜色_Opencv:在轮廓图像中填充颜色
  5. Java中两个字符串进行大小比较
  6. php fpm 开启status,启用php-fpm状态详解
  7. Graph控件绘制图形从左往右显示方法,默认是从右往左
  8. 关于优化公式的小白理解
  9. MT【35】用复数得到的两组恒等式
  10. @Column注解解析