How to find four neighbours of a pixel in an indexed image?
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
Rik
2021-7-29
Or a loop with calls to circshift so you can test equality for the entire array at once?
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!