MATLAB: Finding pixel near border

boundarypixel

Hi, I have a matrix as follows:
I =
1 0 0 0 0 1
0 1 0 0 1 0
0 1 0 1 0 0
0 0 1 0 0 0
0 1 0 1 1 0
1 0 0 0 0 1
here 4 ones are in the total matrix boundary position. Is there any easy way that will return me the position of those pixel i.e. for this matrix (1,1),(6,1),(1,6),(6,6) thanks in advance.

Best Answer

Hi,
maybe this:
I =[
1 0 0 0 0 1
0 1 0 0 1 0
0 1 0 1 0 0
0 0 1 0 0 0
0 1 0 1 1 0
1 0 0 0 0 1 ];
[x y] = size(I);
tmp = zeros(x,y);
tmp(1,:) = ones(1,y);
tmp(x,:) = ones(1,y);
tmp(:,1) = ones(x,1);
tmp(:,y) = ones(x,1);
[i j] = find(I.*tmp == 1);
disp([i,j])