📄 tusvd.m
字号:
A=[1 2 1;2 3 2;1 2 1 ]; %给出一个假设矩阵,测试其变换
[u d v] = svd(A); %对其进行svd分解
[nx,ny] = size(A); %确立A的大小,nx行ny列%
I=eye(nx,nx); %单位阵
for i=nx:-1:2
I(i,i) = 0;
end %循环将对角线上元素值设为0%
B=u*I*d*v';
B %矩阵A的变形结果B
[X,map] = imread('G:\程序练习用图片\cameraman.bmp'); %对图像进行操作%
X= rgb2gray(X); %转化为灰度图%
X=double(X);
A=X(100:250 ,100:250); %取一步分作为A,以下变换同上
[nx,ny] = size(A);
I=eye(nx,nx);
for i=nx:-1:10 %10进行变化影响第2幅图的清晰度,越大越接近原图%
I(i,i) = 0;
end
[u d v]=svd(A);
B=u*I*d*v';
subplot(211)
imshow(A,map);
subplot(212)
imshow(B,map); %显示两幅图像%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -