2012-01-25 269 views
0

我有一个位图(在C#中),其中包含透明背景上的一个人的轮廓。轮廓是特定的色调或颜色,但强度不同。图像边缘检测和平滑?

我想弄清楚轮廓的边缘有多光滑,如果可能的话去除不属于轮廓的部分。我们的目标是获得一个非常平滑(不模糊)的人物表现形式,尽可能地避免像素化和人为因素。

任何人都可以提出一种方法(我在C#.NET 4.0中工作)来完成这个任务吗?我正在考虑采用某种3遍方法 - 边缘检测,异常值或伪影去除,然后平滑,但我以前从未做过这种事情。

谢谢!

回答

1

您可以创建边缘检测算法。这取决于你的照片有多好,结果会很快得到。

边缘检测后,您可以尝试在检测到的边框周围创建多边形。该多边形具有使用任何计算的不透明度蒙版的最大分辨率。 如果你的图像没有很多噪音(如物体或头发)的良好分辨率,它应该是一个很酷的工作。

face border

也许这个项目帮助您为您的项目: http://www.codeproject.com/Articles/9727/Image-Processing-Lab-in-C

问候

+0

真棒谢谢。我也看到了基督教格拉斯系列:http://www.codeproject.com/Articles/1989/Image-Processing-for-Dummies-with-C-and-GDI-Part-1,但我不确定是否这涵盖了我想要做的事情。 – Nicros