您的位置:首页 > 编程语言 > C#

对图像边缘进行随机均匀采样的C#算法实现

2010-04-18 22:21 495 查看
图像边缘含有图像形状的丰富信息,然而,图像边缘有时所含的像素点还是太多,很多情况下需要继续精简(比如,使用 ShapeContext 进行形状匹配),于是就出现一个问题:如何从图像边缘上提取出N个点,使这N个点最具有代表性呢?一个很直观的思路是:

(1)这N个点要在图像边缘上;

(2)最近邻的两点之间要尽量分散开。

如,图像为:

RandomPermute

1 public static void RandomPermute<T>(this IList<T> data)
2 {
3 int count = data.Count;
4 for (int i = 0; i < count; i++)
5 {
6 int index0 = Random.Next(0, count - i);
7 int index1 = count - i - 1;
8 T tmp = data[index0];
9 data[index0] = data[index1];
10 data[index1] = tmp;
11 }
12 }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: