HOw to find similar pixels in 3x3 window

1 view (last 30 days)
Hi all, I have a question to ask,i have 3X3 window of an image such like image below. f(i,j) is center pixel ,so i want to find three most similar pixels except of center pixel in this 3X3 window,please help me regarding this. thanks
  4 Comments
Walter Roberson
Walter Roberson on 4 Jun 2015
Most similar to each other, or most similar to the center pixel?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 4 Jun 2015
The set of pixels that are most similar to each other are the ones where (x2-x1)^2+(x3-x2)^2 is least. We can also order the pixels first because if x1<x2 and x2<x3 then x3 is less similar to x1 than x2 is to x1
pix = f(i-1:i+1,j-1:j+1); %entire window
pix = sort(pix(1:4,6:end)); %exclude center
pd2 = diff(pix).^2; %difference squared
ssq = pd2(1:end-1)+pd2(2:end); %sum of 2 squares
[minval, minidx] = min(ssq);
mean_wanted = mean(pix(minidx:minidx+2));

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!