finding pixel near border

3 visualizzazioni (ultimi 30 giorni)
Mohammad Golam Kibria
Mohammad Golam Kibria il 10 Ago 2011
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.

Risposta accettata

Friedrich
Friedrich il 10 Ago 2011
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])
  2 Commenti
Mohammad Golam Kibria
Mohammad Golam Kibria il 10 Ago 2011
Thanks
Andrei Bobrov
Andrei Bobrov il 10 Ago 2011
a = eye(size(I))
a = a(:,end:-1:1)+a
a(2:end-1,2:end-1)=0
find(I & a)

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by