Matlab中显示法线方向 display normal map in matlab

来源:互联网 发布:mac能装搜狗输入法吗 编辑:程序博客网 时间:2024/05/16 04:51

% X and Y components of the normals vectors are between -1 and 1.
% The step number specifies the size of the output image.
range = -1:0.01:1;
% Repeat the range to build a matrix
X = repmat(range, [size(range, 2), 1]);
Y = flipud(repmat(range', [1, size(range, 2)]));
% These normals must be of unit norm, so find an Z component which
% solves sqrt(X^2 + Y^2 + Z^2) = 1
Z = (1 - (X.^2 + Y.^2)).^0.5;
% Change the display range of X and Y to 0..1 instead of -1..1
X = (X + 1) / 2;
Y = (Y + 1) / 2;
Z = (Z + 1) / 2;
% Mask pixels outside the sphere (in which the Z component is complex)
X(Z ~= real(Z)) = 0;
Y(Z ~= real(Z)) = 0;
Z(Z ~= real(Z)) = 0;
% Build the map
map = cat(3,X,Y,Z);
imshow(map);


Matlab高斯平滑

gausFilter = fspecial('gaussian',[1 51],sigma);%gaussian
a2 = imfilter(a, gausFilter,'replicate');

 

0 0