日期:2014-05-18  浏览次数:20730 次

求助像素循环问题


一张500*500的图片里面有两个不规则形状的图形,其余部分都是透明的,
如何从0,0坐标开始循环每个像素,然后把这两个形状的每一个边缘(只要边缘)的坐标列出来?
貌似用Color GetColor = image.GetPixel(X, Y); 这个方法??
我图像处理很糟糕呀,请求高人指教啊!!
最好给个例子!!

------解决方案--------------------
扫描每一行,记录黑色点的坐标。

500*500大小的图片用GetPixel应该还能忍受。追求效率的话可以用BitmapData对象做。
------解决方案--------------------
http://www.cnblogs.com/yiyiruohan/archive/2010/08/24/1807533.html
------解决方案--------------------
如果不考虑效率的话就直接遍历就好了,如果要说边缘判断的话。

是图形图像学中的东东了。N年前上学时学的,记不清了,错了的话。大牛勿批。

首先把该图像二元化,就变成纯黑白的。 扩大图像画布1px,可确保图像被白色包围。

得到一个0、1的矩阵。则矩阵中任一点与的周边的点位异或值为真即是边缘。

优化算法不记得了。