finding pixel near border

3 ビュー (過去 30 日間)
Mohammad Golam Kibria
Mohammad Golam Kibria 2011 年 8 月 10 日
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.

採用された回答

Friedrich
Friedrich 2011 年 8 月 10 日
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 件のコメント
Mohammad Golam Kibria
Mohammad Golam Kibria 2011 年 8 月 10 日
Thanks
Andrei Bobrov
Andrei Bobrov 2011 年 8 月 10 日
a = eye(size(I))
a = a(:,end:-1:1)+a
a(2:end-1,2:end-1)=0
find(I & a)

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by