c# - 检测像素是否在边界内的算法

标签 c# silverlight algorithm image image-processing

我们目前正在为 Silverlight 中的图像处理 创建一个简单的应用程序,但我们遇到了一些障碍。我们希望用户能够选择图像的一个区域(通过在他们选择的区域周围徒手绘制一条线或在其周围创建一个多边形),然后能够对该选择范围内的像素应用效果。

创建一组图像很容易,但我们需要一个非常快速的算法来决定应该操纵哪些像素(即检测用户选择范围内的像素)。。 p>

到目前为止,我们已经考虑了三种可能性,但我们确信一定有一种比这些更好的真正有效和快速的方法。

<强>1。逐个像素。 我们只是遍历图像中的每个像素并检查它是否在用户选择范围内。显然这太慢了!

<强>2。使用线交叉算法。 事物的类型seen here .

<强>3。洪水填充。 选择沿选区路径的像素,然后在该选区内执行填充。这可能工作正常。

这一定是一个普遍解决的问题,所以我们猜测还有更多我们甚至没有想到的解决方案。

你会推荐什么?

最佳答案

洪水填充算法是一个不错的选择。

看看这个实现:

Queue-Linear Flood Fill: A Fast Flood Fill Algorithm

关于c# - 检测像素是否在边界内的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3821370/

相关文章:

c# - 是否可以在 Controller 中使用 UpdateModel 来填充对象?

c# - 捕获登录事件以便我可以缓存其他用户信息

c# - 分组的 LongListSelector : headers appear, 项目不

c# - 洗牌以覆盖所有可能的排列

ruby - 优化此 ruby​​ 代码

c# - 当用户在 richtextbox 中输入大量数据时显示阅读更多选项

c# - c# 中的数字猜谜游戏

wpf - 当存在基于触发器隐藏显示元素的复杂数据模板时,我的 ListView 或 ListBox 控件大小不会缩小?

silverlight - 2个(或更多)相互依赖的组合框

java - 比较字符串列表相似性的快速算法