SVD图片有损压缩测试

注意文件名别保持成svd.m,这样与系统的默认svd程序冲突

图片处理函数生成的三组二维数组对应RGB,处理时保留一组

clear all;
close all;
clc;

a1=imread('C:\1.jpg');


[m n]=size(a1);
a1=double(a1);
a=a1(:,:,3); %图片有三个通道
imshow(mat2gray(a))
r=rank(a);
 [U S V]=svd(a);

%re=s*v*d';
re=U(:,:)*S(:,1:1)*V(:,1:1)';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),'a.jpg')
%实际保存是S可以只保存20个字节,U,V按二维数组保存
re=U(:,1:20)*S(1:20,1:20)*V(:,1:20)';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),'b.jpg')

re=U(:,1:80)*S(1:80,1:80)*V(:,1:80)';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),'c.jpg')

re=U(:,1:150)*S(1:150,1:150)*V(:,1:150)';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),'d.jpg')

re=U(:,1:250)*S(1:250,1:250)*V(:,1:250)';
figure;
imshow(mat2gray(re));
imwrite(mat2gray(re),'e.jpg')
View Code

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值