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 (2026). neighbor2ind (https://www.mathworks.com/matlabcentral/fileexchange/53444-neighbor2ind), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0.0 |
