1

这似乎是一个奇怪的问题,但我有一组图片想用作淡入淡出的屏幕保护程序,并且我希望每张图片都有一个随附的报价,但是每个报价相对于图片将位于不同的位置.

与其为每个图像的区域编码 a ,不如Rectangle在图像中绘制一个矩形并将其绘制在其中会更容易。

现在,绘制的形状将是一个鲜明的、统一的彩色边框(例如石灰绿色),因为颜色不会出现在图片中,并且它会位于纯色背景上,例如黑色。

我的问题是:如果我在每个图像上绘制一个石灰绿色矩形,那么我怎么能使用 C# 在图像中找到那个矩形,获取它的尺寸,然后用背景颜色替换石灰绿色,所以最后产品,它看起来好像从一开始就没有形状?

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

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

4

1 回答 1

0

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

这里有两个关于emgu cvaforge形状检测的教程。检测到形状后,您可以轻松地将其剪切为背景。例如,假设您使用了四边形的 aforge 检测(在链接中),那么您可以通过调用轻松获取矩形的位置和大小,blobs[i].Rectangle;并创建一个大小和位置与图片背景颜色相同的矩形。

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

于 2012-06-17T13:30:36.407 回答