Algorithm 智能递归算法在matlab中的实现

Algorithm 智能递归算法在matlab中的实现,algorithm,image,matlab,image-processing,Algorithm,Image,Matlab,Image Processing,我参考了以下内容,并试图实现matlab中给出的算法 唯一的问题是如何找到有噪声的像素,即带有脉冲噪声的像素 X似乎是我必须计算的图像中的脉冲像素 _ \uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 输入–噪声图像h _______________________________________________ 步骤1:计算X 对于每个像素,重复从2到7的步骤 步骤2:初始化w=3 步骤3:如果X(i,j)≠ 脉冲像

我参考了以下内容,并试图实现matlab中给出的算法

唯一的问题是如何找到有噪声的像素,即带有脉冲噪声的像素

X似乎是我必须计算的图像中的脉冲像素

_

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
输入–噪声图像h
_______________________________________________ 
步骤1:计算X
对于每个像素,重复从2到7的步骤
步骤2:初始化w=3
步骤3:如果X(i,j)≠ 脉冲像素
转到第7步
步骤4:∆i、 j={h(i1,j1)|i-(w-1)/2≤ i1≤ i+(w-1)/2,
j-(w-1)/2≤ j1≤ j+(w-1)/2}
b=窗口中黑色像素的数量
w=窗口中的白色像素数
步骤5:如果∆i、 j≠ 无效的
p(i,j)=平均值(∆i、 j
) 
d(i,j)=h(i,j)–p(i,j)|
否则如果(ww)
h(i,j)=0
其他的
h(i,j)=255
步骤7:转到下一个像素
步骤8:根据详细系数计算阈值t
矩阵d
每像素
步骤9:如果(d(i,j)>t)
h(i,j)=p(i,j)
____________________________
编辑:要实现PSM或中值滤波方法,我们需要 需要设置一些参数和阈值。这 阈值取决于图像和噪声 密度。因此,要恢复不同的图像,我们需要检查 一系列阈值,并找出最佳阈值。那么在 我们提出的算法不需要定义阈值。该算法具有智能性和确定性
自动设置阈值

您试图实现的文章显然写得很糟糕。。。 例如,在算法中,
w
意味着两件事:窗口的大小和白色像素的数量

步骤1和步骤7都指向同一个循环

无论如何,对我来说,脉冲像素是所有等于0或255的像素a。

基本上,它们是像素,是“盐和胡椒”噪声的一部分

所以基本上,你可以通过以下方式找到它们:

[impulsepixelsY,impulasPixelX]=find((im==0)|(im==255));

从论文中可以看出,在椒盐噪声的情况下,“脉冲像素”只是噪声像素。此外,该算法似乎还提供了一种“智能”机制,用于在噪声像素的值高于阈值(自适应计算)时计算噪声像素的去噪值

那么,“如果X(i,j)”呢≠ 脉冲像素“?很显然,作者假设知道(!)哪些像素是有噪声的(!!),这使得整个事情变得非常可笑,因为这些信息几乎不可能知道

我还想补充一点,论文中给出的相当惊人的结果很可能就是由于这一事实


另外,关于这个论点,它是错误的。具有0或255强度值的像素集,包括噪声像素以及恰好具有该值的适当像素。在这种情况下,该算法很可能会崩溃,因为它也会对健康像素进行去噪。

您能总结一下本文的目标和算法吗?一个标题也可以避免链接腐烂。那么“带有脉冲噪声的像素”这个词是从哪里来的呢?它不存在于代码中。不确定你希望你的问题得到什么样的答案,那么如果X(i,j)≠ 这里的脉冲像素表明!递归算法的速度:Matlab[impulsepixelsY,impulasPixelX]=find((im==0)|(im==255));