Counting number of same neighbourhood pixels between two matrices.
Show older comments
So i have two made up matrices, which represents an image block.
p1 = [4 7 1 2;
4 5 3 1;
8 9 1 10;
8 19 2 1];
p2 = [4 7 1 2;
4 5 3 2;
5 1 0 11;
8 19 2 0]
and what i want to do is to count how many neighbourhood pixels are similar between both matrices above. To do so, i first locate the centre pixel in each matrices:
centre_pix = floor(([4 4]+1)/2)
p1_centre = p1(2,2) %2,2 is the output of centre pix
p2_centre = p2(2,2)
Hence the number 5 in row 2, column 2 in each matrix is the centre pixel.
What I'm trying to do now is to count the number of neighbourhood pixel of the centre pixel that are similar between the two matrices.
Which would be 4,7,1,4,3 therefore the count is 5.
Accepted Answer
More Answers (1)
Bruno Luong
on 10 Sep 2019
Edited: Bruno Luong
on 10 Sep 2019
This command counts the number of 3x3 neigbouring pixels that exactly match
conv2(p1==p2,ones(3),'same')
1 Comment
Shunichi Kusano
on 10 Sep 2019
very simple! I like this better!
Categories
Find more on Video Formats and Interfaces in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!