如何在netlogo中利用元胞自动机实现灰度图像的边缘检测

如何在netlogo中利用元胞自动机实现灰度图像的边缘检测,netlogo,Netlogo,我想使用细胞模型进行边缘检测的图像是灰度使用Netlogo 但我的问题是如何使用netlogo计算pea计算和邻域之间的差异根据您的公式,您想知道图像中某个特定点的两个相邻像素之间的绝对差| s-si |对于[1…4]中的I 假设您已在中读取图像并将其存储到面片中,面片pcolor是图像中相应的颜色 然后 在您的示例中,如果有一个具有pcolor 2的面片,且南北东方向和西方向的相邻面片分别为1,2,3,4,则所有si都将是以随机顺序排列的[1,0,1,2]列表 我仍然不确定您如何定义边缘,但这

我想使用细胞模型进行边缘检测的图像是灰度使用Netlogo
但我的问题是如何使用netlogo计算pea计算和邻域之间的差异

根据您的公式,您想知道图像中某个特定点的两个相邻像素之间的绝对差| s-si |对于[1…4]中的I

假设您已在中读取图像并将其存储到面片中,面片pcolor是图像中相应的颜色

然后

在您的示例中,如果有一个具有pcolor 2的面片,且南北东方向和西方向的相邻面片分别为1,2,3,4,则所有si都将是以随机顺序排列的[1,0,1,2]列表


我仍然不确定您如何定义边缘,但这将帮助您了解评论中的问题。

什么是pea,什么是邻居?你能提供一些例子来帮助我们把你的问题放到上下文中吗?pea我的意思是point and Neighbory报告了一个代理集,其中包含8个周边补丁(邻居)或4个周边补丁(邻居)。22 | 10 | 3 24 | 25 | 2 20 | 23 | 10如果我有这个exm,我的点是25,她的邻居4是10,2,23,24我去计算25和每个相邻点之间的差值是一个点,xcor,ycor?还是表示颜色的数值?10、2、23和24是谁的价值观?或pcolor值?图像可以被视为细胞自动机的特定配置,其细胞空间是由图像定义的二维数组。表中的每个位置对应一个像素。该模型的边缘检测基于二维细胞自动机a(S,N,μ),S={0,,,K-1}是图像像素灰度值对应的状态集。N是Von Neumann的邻域(邻域4))μ是定义为µ(s1,s2,s,s3,s4)=0的局部转移函数,如果⃒s-siiӞ<Ԑ对于i{1..4}还有s,但我的问题是如何计算⃒s-si |
邻域4
总是以随机顺序排列的,因此您可以得到这些数字,但不一定是以那个顺序排列的。
ask patches
[
   let s pcolor
   let all-si [abs (s - pcolor) ] of neighbors4
]