然后查找隐藏图像中的绘制形状?

时间:2012-06-17 10:15:37

标签: c# image c#-4.0

这可能看起来像一个奇怪的问题,但我有一组图片我想用作淡入淡出的屏幕保护程序,我希望每张图片都有一个相应的引用,但每个引用将在不同的地方,相对到图片。

不是为每个图像的区域编码Rectangle,而是在图像中绘制一个矩形并将其绘制在那里更容易。

现在,绘制的形状将是一个鲜明的,均匀的彩色边框(例如,柠檬绿),因为图片中不会出现颜色,而且它会出现在纯色背景上,例如黑色。

我的问题是:如果我在每张图片上画一个青柠绿色的矩形,我怎么能用C#在图像中找到那个矩形,得到它的尺寸,并用背景颜色代替柠檬绿,所以在最终产品中,看起来形状从未开始?

我没有尝试任何东西,我没有代码可以显示,因为这是我的想法,虽然我确信它一定是可能的,但我甚至不知道该从哪里开始搜索。

我希望这是可能的,如果不是,那么我只为每一个画一个矩形,但这是最后的手段。 :)

1 个答案:

答案 0 :(得分:0)

您是否考虑使用emgucvaforge库?他们能够非常容易地检测图像中的形状。虽然它们没有完美地检测到边缘,但如果您想要检测的是一个矩形,那么任何一个都应该可以正常工作。

以下是关于emgu cvaforge的形状检测的两个教程。一旦检测到形状,就可以轻松地将其剪切为背景。比如说,你使用aforge检测四边形(在链接中),然后你可以通过调用blobs[i].Rectangle;轻松获得矩形的位置和大小,并创建一个具有相同大小和位置的矩形与图片背景颜色。

如果您需要更多说明,请随时发表评论。好主意!