Python OpenCV真香——去除照片白色背景
最近帮别人做了个图像分类的项目,他告诉我就是个二分类,区分有没有瑕疵,我想这简单就接了。
我理想中的图片是这样的:
然而现实中的图片确是这样的:
这个不算夸张,还有更夸张的,物体占比非常小,大片的白色背景上还有一些污渍。
这给分类造成了很大的困扰,所以第一步是要把背景去掉,废话不多说,直接上代码。
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真香——去除照片白色背景相关推荐
- 推荐收藏,25条实用简洁的 Python 代码真香啊
996 一直是互联网老生常谈的话题了,但抛开其他只谈工作本身,你有没有想过,下班晚.加班,有时候可能是因为自己工作比较低效? 大家好,今天周末,整理的25个常用的Python代码段,平时多积累好用.常 ...
- 【Python】B 站上这些 Python 视频真香!
大家好,我是东哥. 无论什么时候,都有初学者存在找不到学习资源的困惑.其实呢,一般通过百度.知乎估计也都能找到个的结果,不过质量可能就会层次不齐了. 像知乎上有些回答还是蛮良心的,推荐一些好的书籍或者 ...
- 该死!B 站上这些 Python 视频真香!
脾气有点爆,干货有点多,微信搜索[Python数据科学]关注这个自学转行数据分析的程序员. 本文由作者东哥起飞原创,未经授权禁止转载. 嗨,大家好,我是东哥. 无论什么时候,都有初学者存在找不到学习资 ...
- Python + opencv对拍照得到的图片进行背景去除的实现方法
这篇文章主要介绍了Python + opencv对拍照得到的图片进行背景去除的实现方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 有时候我们 ...
- python opencv 拍照_Python + opencv对拍照得到的图片进行背景去除的实现方法
有时候我们没办法得到pdf或者word文档,这个时候会使用手机或者相机进行拍照,往往会出现背景,打印出来就是灰色的或者有黑色的背景,这个时候影响视野观看,通过代码实现对背景去除,还原清晰图像.代码如下 ...
- Python做一个Kindle电子书下载助手,真香!
哈喽,大家好,我是菜鸟哥! 大家有没有想过把亚马逊网站上的Kindle电子书下载到自己的电脑上? 今天分享的项目可以帮大家实现这一目的.该项目用Python开发,简单.好用.开源. 下面分享下项目的使 ...
- Python OpenCV 修改一寸照片底色,图像处理取经之旅第 20 天
昨天写美女换装案例的时候,忽然间想到,相同的代码可以复用照片底色中,所以本文继续夯实一下对应的效果吧. 本案例使用的素材来源网络,如有侵权,联系橡皮擦删除 二值化参数调整 使用上篇博客,实现的一个小功 ...
- opencv去除照片红眼
opencv去除照片红眼 #include <stdint.h> #include <opencv2/opencv.hpp> #include "windows.h& ...
- 真香!端午节到来,我用Python画了几个粽子送给女票,女票差点吃了我的电脑...
前言 小伙伴们好,我是二哥(二师兄),端午节就要到了,提前祝各位假期愉快,端午安康! 二哥突发奇想,用Python画了几个粽子送给女友,由于色香味俱全,没想到她差点把我的电脑吃了,跪地直呼真香! 喜欢 ...
- Python OpenCV去除图片水印
问题描述 去除百度水印 1.jpg,背景简单 2.jpg,背景复杂 解决方案 安装 pip install opencv-python pip install numpy 方法一.OpenCV提取颜色 ...
最新文章
- HDU1002 Problem II(大数相加)(C++题解)
- 【Android 逆向】Android 逆向通用工具开发 ( adb forward 网络端口重定向命令 | PC 端逆向程序主函数分析 )
- leetcode 752. 打开转盘锁 c代码
- 博图wincc连接数据块_西门子博途WINCC 可通过创建画面模板提高编程效率
- 装车机器人_智造春天脚步近 青岛这家机器人公司着手打造模块化、标准化技术平台...
- cvs svnmanager
- jquery全局变量_jQuery源码一个小细节,却很好地体现了性能优化的思想,很优秀...
- linux3.0.4编译LDD中的scull全过程
- 统计指定目录下的视频时长
- ccs 移植创建新工程_3D生物打印器官新突破,模拟肺与肝脏,未来可能实现定制人类器官...
- JS设置cookie,删除cookie
- Python字典操作
- Spring web项目中web.xml常用的配置
- 深度学习理论 10集课程视频(斯坦福 STATS 385)
- Python实现装饰模式的一段代码
- linux 下xhprof的安装和使用
- Spring AOP之静态代理
- windows7文本文档换成c语言,win10电脑新建文本文档默认编码是UTF-8怎么修改成ANSI编码...
- 企业—pacemaker基本概念及其原理
- Quartus手动生成波形图(以38译码器为例)VHDL