how to enter mask

조회 수: 1 (최근 30일)
vetri veeran
vetri veeran 2014년 10월 24일
댓글: Image Analyst 2014년 10월 24일
Hi sir,
I want to enter this mask given below to 288*543.
288*543 contains initially 1000 as non object and 0 as object.
To that I have to enter this mask,
mask=[1.414,1,1.414; 1,1,1000; 1000,1000,1000];
and I need to apply this algorithm,
d_new(i,j)=min([d_new(i,j);1+d_new(i+1,j); 1.41+d_new(i+1,j+1);1+d_new(i,j+1);1.41+d_new(i-1,j+1)]);
and i need to update the values by d_new(i,j)
How can I achieve this in for loop.
Thanks in advance.

채택된 답변

Image Analyst
Image Analyst 2014년 10월 24일
Do you mean to replicate the mask out to a size of 288-by-543? Like this:
workspace;
% Initial 3-by-3 mask.
mask=[1.414,1,1.414; 1,1,1000; 1000,1000,1000]
% Make copies out to a size of 288-by-543
mask2 = repmat(mask, [96, 181]);
  댓글 수: 1
Image Analyst
Image Analyst 2014년 10월 24일
Regarding your edited question and new "Answer" (which is the same as your question now, and I'll probably delete)...your mask is 3-by-3 (9 elements) whereas your "algorithm" only has 5 elements. How do you reconcile that?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

vetri veeran
vetri veeran 2014년 10월 24일
Hi sir,
I want to enter this mask given below to 288*543.
288*543 contains initially 1000 as non object and 0 as object.
To that I have to enter this mask,
mask=[1.414,1,1.414; 1,1,1000; 1000,1000,1000];
and I need to apply this algorithm,
d_new(i,j)=min([d_new(i,j);1+d_new(i+1,j); 1.41+d_new(i+1,j+1);1+d_new(i,j+1);1.41+d_new(i-1,j+1)]);
and i need to update the values by d_new(i,j)
How can I achieve this in for loop.
Thanks in advance.

카테고리

Help CenterFile Exchange에서 Author Block Masks에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by