最近帮别人做了个图像分类的项目,他告诉我就是个二分类,区分有没有瑕疵,我想这简单就接了。

我理想中的图片是这样的:

然而现实中的图片确是这样的:

这个不算夸张,还有更夸张的,物体占比非常小,大片的白色背景上还有一些污渍。

这给分类造成了很大的困扰,所以第一步是要把背景去掉,废话不多说,直接上代码。

import cv2
import numpy as np
img=cv2.imread('01.jpg')
## (1) Convert to gray, and threshold
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
print(gray)

#二值化,将背景150到255的像素值改为255
th, threshed = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY_INV)
## (2) Morph-op to remove noise
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (11,11))
morphed = cv2.morphologyEx(threshed, cv2.MORPH_CLOSE, kernel)
## (3) Find the max-area contour
cnts = cv2.findContours(morphed, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
cnt = sorted(cnts, key=cv2.contourArea)[-1]
## (4) Crop and save it
x,y,w,h = cv2.boundingRect(cnt)

#取反色,删除背景的影响。
dst = 255-img[y:y+h, x:x+w]
cv2.imwrite("001.png", dst)

结果:

Python OpenCV真香——去除照片白色背景相关推荐

  1. 推荐收藏,25条实用简洁的 Python 代码真香啊

    996 一直是互联网老生常谈的话题了,但抛开其他只谈工作本身,你有没有想过,下班晚.加班,有时候可能是因为自己工作比较低效? 大家好,今天周末,整理的25个常用的Python代码段,平时多积累好用.常 ...

  2. 【Python】B 站上这些 Python 视频真香!

    大家好,我是东哥. 无论什么时候,都有初学者存在找不到学习资源的困惑.其实呢,一般通过百度.知乎估计也都能找到个的结果,不过质量可能就会层次不齐了. 像知乎上有些回答还是蛮良心的,推荐一些好的书籍或者 ...

  3. 该死!B 站上这些 Python 视频真香!

    脾气有点爆,干货有点多,微信搜索[Python数据科学]关注这个自学转行数据分析的程序员. 本文由作者东哥起飞原创,未经授权禁止转载. 嗨,大家好,我是东哥. 无论什么时候,都有初学者存在找不到学习资 ...

  4. Python + opencv对拍照得到的图片进行背景去除的实现方法

    这篇文章主要介绍了Python + opencv对拍照得到的图片进行背景去除的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 有时候我们 ...

  5. python opencv 拍照_Python + opencv对拍照得到的图片进行背景去除的实现方法

    有时候我们没办法得到pdf或者word文档,这个时候会使用手机或者相机进行拍照,往往会出现背景,打印出来就是灰色的或者有黑色的背景,这个时候影响视野观看,通过代码实现对背景去除,还原清晰图像.代码如下 ...

  6. Python做一个Kindle电子书下载助手,真香!

    哈喽,大家好,我是菜鸟哥! 大家有没有想过把亚马逊网站上的Kindle电子书下载到自己的电脑上? 今天分享的项目可以帮大家实现这一目的.该项目用Python开发,简单.好用.开源. 下面分享下项目的使 ...

  7. Python OpenCV 修改一寸照片底色,图像处理取经之旅第 20 天

    昨天写美女换装案例的时候,忽然间想到,相同的代码可以复用照片底色中,所以本文继续夯实一下对应的效果吧. 本案例使用的素材来源网络,如有侵权,联系橡皮擦删除 二值化参数调整 使用上篇博客,实现的一个小功 ...

  8. opencv去除照片红眼

    opencv去除照片红眼 #include <stdint.h> #include <opencv2/opencv.hpp> #include "windows.h& ...

  9. 真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...

    前言 小伙伴们好,我是二哥(二师兄),端午节就要到了,提前祝各位假期愉快,端午安康! 二哥突发奇想,用Python画了几个粽子送给女友,由于色香味俱全,没想到她差点把我的电脑吃了,跪地直呼真香! 喜欢 ...

  10. Python OpenCV去除图片水印

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

最新文章

  1. HDU1002 Problem II(大数相加)(C++题解)
  2. 【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
  3. leetcode 752. 打开转盘锁 c代码
  4. 博图wincc连接数据块_西门子博途WINCC 可通过创建画面模板提高编程效率
  5. 装车机器人_智造春天脚步近 青岛这家机器人公司着手打造模块化、标准化技术平台...
  6. cvs svnmanager
  7. jquery全局变量_jQuery源码一个小细节,却很好地体现了性能优化的思想,很优秀...
  8. linux3.0.4编译LDD中的scull全过程
  9. 统计指定目录下的视频时长
  10. ccs 移植创建新工程_3D生物打印器官新突破,模拟肺与肝脏,未来可能实现定制人类器官...
  11. JS设置cookie,删除cookie
  12. Python字典操作
  13. Spring web项目中web.xml常用的配置
  14. 深度学习理论 10集课程视频(斯坦福 STATS 385)
  15. Python实现装饰模式的一段代码
  16. linux 下xhprof的安装和使用
  17. Spring AOP之静态代理
  18. windows7文本文档换成c语言,win10电脑新建文本文档默认编码是UTF-8怎么修改成ANSI编码...
  19. 企业—pacemaker基本概念及其原理
  20. Quartus手动生成波形图(以38译码器为例)VHDL

热门文章

  1. BZOJ 1208 宠物收养所 Splay树
  2. 杂谈:加班中离世的人
  3. postgresql12的同步流复制搭建及主库hang问题处理和分析
  4. python批量将png格式转换为jpg格式,并保存到新的文件夹
  5. 传统软件厂商生存模式推演
  6. 本科计算机专业考研集成电路,集成电路工程专业考研院校排名
  7. 门禁卡怎么弄到手机上,手机变成门禁卡,手把手超详细(建议收藏)
  8. tenacity.retry Python中一个专门用来重试的库
  9. OpenCL “速成”冲刺【第二天】
  10. 西部数据移动硬盘识别不了