Implementing the intelligent recursive algorithm in matlab

Well am referring the following paper and trying to implement the algorithm as given in matlab

The only problem is how do i find a noisy pixel ie Pixel with impulse noise ?

X seems to be the impulse pixel in an image which i have to calculate

_

____________________________________________ 
Input – Noisy Image h 
_______________________________________________ 
Step 1: Compute X 
             for every pixel repeat steps from 2 to 7 
Step 2: Initialize w = 3 
Step 3: If X(i,j) ≠ Impulse pixel 
                 goto step 7  
Step 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=no. of  black pixels in the window 
             w=no. of white pixels in the window 
Step 5: If ∆i,j ≠ NULL 
                    p(i,j) = mean(∆i,j
) 
                    d(i,j) = | h(i,j) – p(i,j) | 
            else   if (w < wmax) 
                           w=w+2 
                           goto step 4 
           else   
                     if (b>w) 
                           h(i,j)=0 
                    else 
                           h(i,j)=255 
Step 7: Goto next pixel 
Step 8: Calculate threshold t, from detailed coefficient  
                  matrix d 
            for every pixel 
Step 9: If (d(i,j)>t) 
                    h(i,j)=p(i,j) 
____________________________

Edit: To implement the PSM or the median filter method we need to set some parameters and a threshold value. This threshold value is dependent on the image and the noise density. So, to restore different images we need to check for a range of threshold values and find out the best one. So, in our proposed algorithm we removed the need to define a threshold value. The algorithm is intelligent and determines the threshold automatically.


From the paper it seems that the "impulse pixels" are just the noisy pixels, in the case of salt & pepper noise. Furthermore, it also seems that the algorithm provides an "intelligent" mechanism to calculate the denoised value of a noisy pixel if its value is above a threshold (which it calculates adaptively).

So, what about "If X(i,j) ≠ Impulse pixel " ? Well, apparently, the authors assume to know (!) which pixels are noisy (!!), which makes the whole thing rather ridiculous, since this info is almost impossible to know.

I might also add that the rather stunning results presented in the paper are most probably due to this fact.

PS Regarding the argument that <"impulse pixels" are all the pixels a which are either equal to 0 or 255>, it is wrong. The set of pixels that have either 0 or 255 intensity value, includes the noisy pixels as well as proper pixels that just happen to have such a value. In this case, the algorithm will most probably collapse since it will denoise healthy pixels as well.


The article you are trying to implement is obviously badly written... For instance in the algorithm w means 2 things: the size of the window, and the number of white pixels!!!

Both the step 1 and 7, are refering to the same loop.

Anyway, to me, the "impulse pixels" are all the pixels a which are either equal to 0 or 255.

Basically, they are the pixels which are part of the "salt and pepper" noise.

So basically, you can find them by doing:

[impulsepixelsY,impulasPixelX]=find((im==0)|(im==255));
链接地址: http://www.djcxy.com/p/13964.html

上一篇: MATLAB中的图像处理算法

下一篇: 在matlab中实现智能递归算法