neighbor2ind
This function takes a size vector [m n] and a connectivity scalar (4 by default, or 8) and returns a p-by-2 array containing the linear indices of all pairs of neighboring elements in an m-by-n array. Note that p does not equal (m*n*conn) because border elements do not have as many neighbors as interior elements.
I created this function because I needed to transform an image into a graph, with edges in the graph for neighboring pixels only. This function allows me to quickly get the linear indices for all edges in that graph.
This function was inspired by a blog post from Steve Eddins found here:
http://blogs.mathworks.com/steve/2008/02/25/neighbor-indexing-2/
Examples:
ind = neighbor2ind([3,4]);
I = imread('cameraman.tif');
ind = neighbor2ind(size(I),8);
Cite As
Matthew Eicholtz (2024). neighbor2ind (https://www.mathworks.com/matlabcentral/fileexchange/53444-neighbor2ind), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |