Filter löschen
Filter löschen

How to find four neighbours of a pixel in an indexed image?

3 Ansichten (letzte 30 Tage)
Anwesha Sharma
Anwesha Sharma am 29 Jul. 2021
Kommentiert: Anwesha Sharma am 2 Aug. 2021
I have an indexed image with 7 indices. I have to find how many neighbors of each pixel with index=7 are pixels with index = 6.
I wrote the code below, however, I am not getting a correct histogram.
[A,map] = imread('FCLS_crop_20190627_1.tif');
for i=1:numel(A)
if A(i)==7
[ix,ixn] = ixneighbors(A,i);
fprintf('index[%d]',ix);
fprintf('\n');
neigh = A(ixn);
fprintf('%d\t',neigh);
numberOfNonZeros = nnz(neigh==6);
NumofOnes(i) = numberOfNonZeros;
end
end
hist(NumofOnes);
xlabel('Number of Neighbors')
ylabel('Frequency')
  3 Kommentare
Rik
Rik am 29 Jul. 2021
Or a loop with calls to circshift so you can test equality for the entire array at once?

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by