我有一个位图(在 C# 中),其中包含透明背景上一个人的剪影。轮廓是一种特定的色调或颜色,但强度不同。
我试图弄清楚轮廓边缘的平滑程度,并尽可能去除不属于轮廓的伪影。目标是获得人的良好平滑(不模糊)表示,尽可能无像素和无伪影。
任何人都可以提出一种方法(我正在使用 C# .NET 4.0)来实现这一点吗?我在考虑某种 3 遍方法——边缘检测、异常值或伪影去除,然后进行平滑处理,但我以前从未做过这种事情。
谢谢!
我有一个位图(在 C# 中),其中包含透明背景上一个人的剪影。轮廓是一种特定的色调或颜色,但强度不同。
我试图弄清楚轮廓边缘的平滑程度,并尽可能去除不属于轮廓的伪影。目标是获得人的良好平滑(不模糊)表示,尽可能无像素和无伪影。
任何人都可以提出一种方法(我正在使用 C# .NET 4.0)来实现这一点吗?我在考虑某种 3 遍方法——边缘检测、异常值或伪影去除,然后进行平滑处理,但我以前从未做过这种事情。
谢谢!
您可以创建边缘检测算法。这取决于您的图片有多好,结果将很快提供。
边缘检测后,您可以尝试在检测到的边界周围创建多边形。多边形具有使用任何计算的不透明度蒙版的最大分辨率。如果您的图像分辨率很好,没有很多噪音(如物体或头发),那应该是一件很酷的工作。
也许这个项目对您的项目有帮助:http: //www.codeproject.com/Articles/9727/Image-Processing-Lab-in-C
问候