技术标签: 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)背景没有这样的梯度。谢谢
文章浏览阅读3.9k次,点赞2次,收藏6次。这是按软件的自由度来分的。main:完全的自由软件。restricted:不完全的自由软件。universe:ubuntu官方不提供支持与补丁,全靠社区支持。muitiverse:非自由软件,完全不提供支持和补丁。..._wily main restricted 和 jammy main restricted universe multiverse
文章浏览阅读3.6w次,点赞99次,收藏450次。[x,Fs]=audioread('test.mp3');x = x(:,1);x = x';N = length(x);%求取抽样点数t = (0:N-1)/Fs;%显示实际时间y = fft(x);%对信号进行傅里叶变换f = Fs/N*(0:round(N/2)-1);%显示实际频点的一半subplot(211);plot(t,x,'g');%绘制时域波形xlabel('Time / (s)');ylabel('Amplitude');title('信号的波形');grid;s_matlab画音频信号的频谱图
文章浏览阅读1.1k次。利用python进行数据分析(其一)NumPy基础NumPy的ndarray:一种多维数组对象创建ndarrayndarray的数据类型NumPy数组的运算基本索引和切片切片索引本文实验环境、工具:anoconda,Jupyter notebook,python3.6NumPy基础NumPy (Numerical Python) 是Python关于数值计算最重要的基础包,可以构建科学计算的库..._python大数据分析总结
文章浏览阅读881次。Asp.net MVC 简单分页:public static string Pager(int page,int pageSize,int total) { var htmlStr = ""; var pageCount = Math.Ceiling((double)total / pageSize);_asp.net mvc 自定义分页
文章浏览阅读6k次,点赞3次,收藏26次。对象中常用的方法: Object.prototype1. hasOwnProperty方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。检测是否为私有属性 即使属性的值是null或undefined,只要属性存在,hasOwnProperty依旧会返回true。检测的属性的String字符串形式表示的名称,或者Symbol。const object1 = {}; object1.property1 = 42; console.log(obj..._对象的方法
文章浏览阅读1.2k次。嗨我正在使用python并尝试连接到sftp并想从那里检索xml文件并需要放在我的本地系统中,下面是代码import paramikosftpURL = 'sftp.somewebsite.com'sftpUser = 'user_name'sftpPass = 'password'ssh = paramiko.SSHClient()# automatically add keys ..._python sftp 列出远程目录所有文件
文章浏览阅读6.4k次,点赞3次,收藏14次。vivado2018.3在调试cameralink接口时,synthesis和implement都过了,但生成bit文件时报如下错误[DRC UCIO-1] Unconstrained Logical Port: 6 out of 12 logical ports have no user assigned specificlocation constraint (LOC). This may cause I/O contention or incompatibility with the bo..._[drc ucio-1] unconstrained logical port: 4 out of 12 logical ports have no u
文章浏览阅读2w次,点赞5次,收藏15次。系统环境:CentOS Linux release 7.6.1810 (Core)起因:npm构建时报错npm ERR! Error while executing:npm ERR! /usr/bin/git ls-remote -h -t https://github.com/nhn/raphael.gitnpm ERR! npm ERR! fatal: unable to a..._nhn/raphael.git jenkins
文章浏览阅读1.2k次,点赞2次,收藏5次。一、安装mariadb的依赖包[root@ServerA ~]# cat /etc/redhat-release CentOS Linux release 8.2.2004 (Core) [root@ServerA ~]# # yum install wget bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxm_yum mariadb 需要pv
文章浏览阅读180次。package prime;public class Prime1 { public static void main(String[] args) { int count=0; for(int i=2;i<=100;i++) { //遍历100内的每个数,但素数从2开始(1不是素数) for(int j=2;j<=i;j++) { //遍历从2到 i内的所有数 //素数只能被1 和它本身整除,如果被除了1和它本身之外的数整除,则不是素数 if(i!=2 &a._java打印素数10个一组
文章浏览阅读1.7k次。前言使用UE4打过Android包的小伙伴都知道:UE4的默认打包方式会生成一个obb,一个apk,用处是为了方便减小apk的大小,因为google play对于上传的安装包是有限制的,网上大部分文章说这个限制是50M,但是我查到的最新资料是100M(日期:2017-06-07),这个限制放开来源于Google 2015年9月28日的公告,具体参见新闻:谷歌放宽包体限制 APK大小最高可达100..._ue导出apk和场景大小有关系吗
文章浏览阅读5.1w次,点赞11次,收藏19次。前提:1、mac电脑配置charles,windows配置Fiddler ok。2、小米手机配置代理ok。问题:通过浏览器下载的crt文件,提示证书无效,安装失败。解决问题:1、不要用小米手机自带的浏览器下载crt文件。现下载一个第三方的浏览器,再下载crt文件。2、安装证书:不要直接点击crt文件进行安装。正确安装方法有2个:其一:设置——WiFi——高级设置——安装证书其二:设置——更多设置—..._小米安装证书 the client does not trust the proxy's certificate