How to Normalize co-ordinates to [-sqrt2,sqrt2]?

4 ビュー (過去 30 日間)
Anushka
Anushka 2015 年 2 月 13 日
コメント済み: Anushka 2015 年 2 月 13 日
I have got the following code
d = size(img); % dimension
img = double(img);
xstep = 2/(d(1)-1);
ystep = 2/(d(2)-1);
[x,y] = meshgrid(-1:xstep:1,-1:ystep:1);
How does this normalisation actually works? Can any one please help.
  1 件のコメント
dpb
dpb 2015 年 2 月 13 日
Well, how about trying a sample case at the command line and see?
BIG HINT: What's the value of [1-(1)'?

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

採用された回答

Eduardo Márquez
Eduardo Márquez 2015 年 2 月 13 日
編集済み: Eduardo Márquez 2015 年 2 月 13 日
As I see it, this normalizing the domain of the image, not the image, ie, seeks to center the coordinate (0,0).
[ 1:-1, -1:1] as the domain you want, take the d (1) -1 to count 0. If only outside [0:1,0:1] simply to know the step calculated 1 / (d (1) -1), but as it wants to [-1: 1] requires doubling leave half of steps on one side and half on the other. 2 / (d (1) -1), double spaces become large and occupy the range [-1:1].
Then meshgrid generate matrix with you new domain, instead of going to [1:d(1),1:d(2)] was added to the domain [-1:1,-1:1].
Read meshgrid function to know who works.
I hope to help.
Example:
Image is 3x3, then d=[3 3 1];
The image domain is [(1,1) (1,2) (1,3);(2,1) (2,2) (2,3);(3,1) (3,2) (3,3)];
The meshgrid generate the domain [(-1,-1) (-1,0) (-1,1) : (0,-1) (0,0) (0,1) :(1,-1) (1,0) (1,1)];
  3 件のコメント
Eduardo Márquez
Eduardo Márquez 2015 年 2 月 13 日
Calculates the distance from one point to another, in the example d = [3 3 1];
xstep = 2 / (3-1) = 2/2 = 1, that is, starts at -1 meshgrid adding 1 up to 1, therefore, the new domain are [-1, -1 + 1, -1 + 1 + 1] = [- 1,0,1]
If d = [5 5 1]; xstep = 2 / (5-1) = .5, the new domain [-1, -1 + 0.5, -1 +.5+. 5 ...] = [-1, -.5,0,.5,1];
analogous in ystep
Anushka
Anushka 2015 年 2 月 13 日
Thank you very much sir,it helped me .
can you please explain the following code also
z = clipimg(x+i*y,mask);
function [cimg,cindex,dim] = clipimg(img,mask)
dim = size(img); cindex = find(mask~=0); cimg = img(cindex); return;

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

その他の回答 (0 件)

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by