2012-03-15 63 views
1

我期待找到我通过下面的矩阵我从一个图像是如何创建迭代:迭代通过一个数组(和多一点)

Img = imread('tinycircle.png'); 
Img = Img(:,:,1); 
Img = double(Img); 
[x,y] = size(Img); 
I = ones(x,y); 

我想通过每个像素进行迭代图,并确定每个像素的从形状(在这种情况下,圆)在I = ones(x,y);

距离我知道我可以使用类似:

R = pdist2(Img,I); 

,但只需要一点点的帮助迭代日粗略图像的每个像素。

+0

您正在寻找的东西叫做[距离变换(http://en.wikipedia.org/wiki/Distance_transform)。 一旦理解了这个想法,实现起来相当容易。 – 2012-03-15 18:02:20

回答

1

如果您有图像处理工具箱,可以使用二值化图像,例如

bw = Img > 0; 

然后使用命令

I = bwdist(bw); 
+0

你能举个例子吗?请用实际的图像处理工具箱功能吗? – Superbest 2012-09-25 06:01:16

+0

@Superbest我不确定你的意思,'bwdist'是一个图像处理工具箱功能:http://www.mathworks.com/help/images/ref/bwdist.html – Tokkot 2012-10-08 18:26:28