我需要把一个照片上的背景去掉,换上我们自己的背景。照片是一个人站在一个单色布景(如蓝颜色布景)前照的,现在要把照片上的单色布景去掉,即把人的图像取出,再贴到我们事先准备好的背景图像上去。 现在的难点是怎么把图像的单色背景去掉?需要源程序、算法及相关资料!
请注意:
1. 背景肯定是不均匀的。
2. 背景颜色不是固定的,有的是蓝色,有的可能是别的颜色,事先是不知道的。
3. 完全自动处理,不能由人工指定图像中的某个点作为背景颜色,必须自动识
别 出背景颜色。
4. 由软件自动完成上述功能,不是人工用photoshop之类的工具去作。
5. 最好是能够实时的,处理速度不需要太高,每秒处理3至5帧图像即可。
6. 这个处理过的图片要放到新的背景图像中去,合成一个新的照片。
请注意:
1. 背景肯定是不均匀的。
2. 背景颜色不是固定的,有的是蓝色,有的可能是别的颜色,事先是不知道的。
3. 完全自动处理,不能由人工指定图像中的某个点作为背景颜色,必须自动识
别 出背景颜色。
4. 由软件自动完成上述功能,不是人工用photoshop之类的工具去作。
5. 最好是能够实时的,处理速度不需要太高,每秒处理3至5帧图像即可。
6. 这个处理过的图片要放到新的背景图像中去,合成一个新的照片。
解决方案 »
- 如何清空edit
- 做个小调查,散散分:delphi实际开发中,有多少人大量使用第三方控件?
- 关于输入法的问题
- ADOTable1.GetFieldNames()错误
- 求SUIPACK For D7控件(不要测试版,上网搜了很久也没找到)
- 如何保存对象信息?比如保存一个窗体的信息?
- 有谁可以写一个COM串口的实例?从本机发再由本机来收
- 怎样设置桌面的工具栏
- 请问一下:exception exception in module ckgl.exe at 000cab14.odac trial version requires delphi ide 是什么意思?
- 大家看看!!
- clientdataset怎么用?
- 本人有KTV点播系统低价出售源码(¥500.00)!用的是神龙DVD解压卡
TCanvas.Pixels[X, Y: Integer]: TColor;
扫描整个图片,如果该点是背景色,则置为新背景色。—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
你又少见多怪了吧,这并不是什么难事。每个人不会的东西多了去了。—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
然后假定左上角是clean的,以此附近取样为背景色,对整个图像中在阈值(一般取32 ,不知道彩色应该怎么算)内的 色彩clean掉(基本照搬photoshop的magicwand).
有个问题:做完的图像你们怎么保存(对透明区域的处理?)
至于做完的图像的透明部分,可以保存为纯白色或纯黑色,因为实际照片里出现纯白色或纯黑色概率非常小。
这并不是妙想天开,你没见过电视电影特技中的画面合成吗?主持人可以在兰背景前主持节目,而输出给观众看的画面却是主持人在一个具有美丽风景为背景的环境中主持节目。
photoshop之所以没有作这样的功能,主要是因为photoshop是用来编辑/制作真正的照片的,这样的照片通常是在人们真正需要留念的地方拍摄的,这样的背景通常不是一个单色的布景。难道你没事了会找一个单色的布景来照相吗?
如果是靠单纯判断颜色,图像处理也不会形成独立的一门学科了。
如果这些“噪声”比较细小,可以通过膨胀运算将其去掉。就像下面这幅图的最后两幅一样
http://media.cs.tsinghua.edu.cn/~ahz/digitalimageprocess/chapter08/dilation.gif
如果这些噪声比较大,得另想办法了,我们再好好想想,呵呵