python变白_Python OpenCV纯白色背景-程序员宅基地

技术标签: python变白  

我有一个DIY家庭摄影棚来拍照。我希望他们在纯白色的背景(#FFFFFF)和最少的用户交互

这是我的原始图片(没有任何处理,只是相机的原始图片)

我用opencv和Tkinter for UI实现了简单的python程序

1)使用对象(ROI)获取rect

我决定用UI来选择ROI,也许以后我会编写代码来自动识别照片上的对象。在

2)使用cv2.grabCut函数,我尝试从这个矩形中剪切背景

cv2.grabCut(image, self.mask, rect, bgdmodel, fgdmodel, 5, cv2.GC_INIT_WITH_RECT)

3)如有必要,我为grabcut创建自定义掩码,以提供更精确的对象提取

^{pr2}$

4)在这一步之后,我可以在我的对象所在的地方创建蒙版。我还将蒙版的大小调整为30像素mask = cv2.resize(mask, ( crop_img.shape[1] + 30, crop_img.shape[0] + 30))

mask = mask[30 : crop_img.shape[0], 30 : crop_img.shape[1]]

所以这个面具更宽更高

5)我将此掩码用于无缝克隆方法src_bg = 255 * np.ones(self.src.shape, self.src.dtype)

width, height, channels = src_bg.shape

center = (int(height / 2), int((width / 2)))

output = cv2.seamlessClone(crop_img, src_bg, mask, center, cv2.MIXED_CLONE)

得到这样的结果:

看起来不错,除了物体右侧的一些文物。我的面具好像不太合适。这不是一个真正的问题。真正的问题是:无缝玻璃给我的不是真正的白色背景。查看级别:

一些奇怪的渐变和背景在右下角并不是真正的白色。我尝试了很多图片,但经常会有这样的事情。在

我的问题是:什么才是做我想做的事的正确方法?是我的方法可以用于这个任务和如何使真正的白色(#ffffffff)背景没有这样的梯度。谢谢

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39896617/article/details/111446612

智能推荐

hive case when的选择顺序优先级问题_hive case when then-程序员宅基地

文章浏览阅读9.1k次,点赞6次,收藏9次。hive 中有case when 的语法是:case when 条件1 then 结果1when 条件2 then 结果2when 条件3 then 结果3......else 结果x end那如果被查询的行同时符合条件1和条件3呢?结果会是出现“结果1”还是“结果3”呢?根据测试,是符合结果1,原因是语句先“碰见” when 条件1 then 结果1这一句。如果语句改为:se..._hive case when then

中北网安实训笔记-(20200628)-域名信息、端口信息收集、nmap手册网址、敏感信息收集、GIT信息泄露_中北网络域名-程序员宅基地

文章浏览阅读232次。今天内容1.信息收集(收集目标所有可以收集的信息) 工具 客户端 网页端域名信息(子域名)站点信息端口信息敏感信息2.扫描探测(awvs xray)漏洞的入口点——————————————————PPT:域名解析过程:用户–>浏览器输入baidu.com -->浏览器DXS服务器缓存–>系统缓存dns服务器缓存C://windows/system32/drivers/etc/host–>dns服务器(发送请求)whois查询备案域名划分子域名_中北网络域名

c语言用fun函数求最大公约数,C语言程序设计第七次作业(示例代码)-程序员宅基地

文章浏览阅读707次。一、学习内容本次课学习了函数的基本知识,需要大家对如下知识点进行总结:1. 函数定义的基本格式,函数定义和函数原型(声明)的区别何在?2. 函数的调用方式有哪几种3. 什么是形参,什么是实参,函数调用时的参数传递机制是什么?二、实验内容1.定义一个判断素数的函数isprime(int n),利用该函数输出1000以内的所有素数,每行10个,最后输出一共有多少个素数。(每列对齐)2.求两个正整数的最..._调用fun函数求最大公约数

MyBatis-Plus实现多表联查(一对一,一对多使用)_mybatisplus一对多-程序员宅基地

文章浏览阅读3.8k次,点赞56次,收藏33次。在使用mybatis-plus开发需求的时候会发现对于大部分的业务场景来说都会使用到join来进行联表查询,但是mybatis-plus封装的 mapper 不支持 join,如果需要支持就需要自己手动去实现,给大家推荐一个好用的插件(Mybatis-Plus-Join(简称 MPJ)是一个 Mybatis-Plus的增强工具,在 MyBatis-Plus 的基础上只做增强不做改变,为简化开发、提高效率而生。_mybatisplus一对多

基于JAVA学生信息管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署-程序员宅基地

文章浏览阅读106次。基于JAVA学生信息管理系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署。springboot基于springboot和vue的酒店管理系统。springboot基于SpringBoot的自助旅游导航系统。springboot基于JSP的企业办公管理系统设计与实现。JSP宠物食品店系统的设计与实现sqlserver。ssm基于Java的幼儿早教系统软件的设计与实现。ssm基于vue的健康餐饮管理系统的设计与实现。ssm基于JAVA的求职招聘网站的设计与实现。

Nginx_Ubuntu-程序员宅基地

文章浏览阅读113次。一. 基本步骤  1.1环境准备    开始前,请确认gcc g++开发类库是否装好,默认已经安装。    注:等待linux下载更新功能准备好了 重启系统 在执行下载安装命令,如执行命令没有问题可以继续往下走      1. 最小Ubuntu安装插件      1. 需要安装        sudo apt-get install build-essen..._snail mock

随便推点

.NET开发语言C++.NET, C#, VB.NET电子资料汇总-程序员宅基地

文章浏览阅读103次。Pro LINQ:Language Integrated Query in C# 2008MS Press - Introducing Microsoft LINQLINQ for Visual C# 2005 (07年6月出版)LINQ for VB 2005 (07年6月最新PDF文字版)Manning:LINQ in ActionPro C# 2008..._c++ c# vb.net

confluence搭建部署_ata confluence-程序员宅基地

文章浏览阅读1.1k次。confluence企业wiki搭建部署_ata confluence

SpringCloud与SpringBoot版本对应关系_springboot 2.1.1 对于的cloud-程序员宅基地

文章浏览阅读830次。今天在创建SpringCloud项目过程中遇到了一个坑:当我将SpringCloud项目架子搭好之后,启动Eureka的时候报错(具体的错误提示忘记截图了),然后对问题摸索了好久之后才发现是SpringBoot与SpringCloud对应的版本问题。由于我项目中SpringBoot项目的版本用的是2.2.X,而SpringCloud的版本用的是 Greenwich.SR2所以造成了报错导致Eur..._springboot 2.1.1 对于的cloud

如何恢复硬盘数据?简单解决问题_磁盘恢复 csdn-程序员宅基地

文章浏览阅读467次。无论是工作中还是生活里都离不开电脑,因为电脑可以用来编辑成我们需要的文件,还可以存储_磁盘恢复 csdn

苹果手机测试网络速度的软件,‎App Store 上的“网速测试大师-测网速首选”-程序员宅基地

文章浏览阅读8.2k次。网速测试大师(SpeedTest Master)致力于为全球用户提供快速专业的网络测速服务。【最新功能】5G测速、Ping 测试、游戏Ping、一键设备检测。网速测试大师,是您的手机管家,wifi管家,随时随地的测速专家【全新工具】重磅推出史上最强工具箱:Ping测试,游戏Ping,跟踪路由。。。轻松解决任何网络问题【一键测速】只需30秒,快速、准确获得网速测试结果【全网测试】支持各大运营商测速;..._苹果手机测速软件

教了一年少儿编程,说说感想和体验-程序员宅基地

文章浏览阅读7.7k次,点赞24次,收藏115次。近两三年,少儿编程教育迅速崛起,成了 STEM 教育的主要代表。缘起少儿编程这个概念在国内兴起,总有个三四年了。2016 年,曾经有人问:“儿童学习编程是不是为了将来做'程序猿'?”。我当时给的回答是: 编程说白了就是用一种简单的符号语言描述一种解决方案来解决实际问题。编出程序的效果取决于两个方面:1、对于实际业务问题的了解;2、对算法和数据的掌控。 这两者的基..._python编程少儿课程课后评价

推荐文章

热门文章

相关标签