PCA图像压缩的matlab实现
来源:互联网 发布:淘宝上图片怎么上传 编辑:程序博客网 时间:2024/05/20 11:25
PCA
function pca_testclear;close all;img=imread('lena.png'); figure(1),subplot(121),imshow(img,[]);title('Original Image');[M N] = size(img);f = double(img);bs = 16; %图像块尺寸p = 30; %保留的维数% PCA图像压缩g = im2col(f, [bs bs], 'distinct'); %将图像块转换成列矢量表示g_m = ones(size(g,1),1)*mean(g); %计算每个块的灰度均值g = g - g_m;[E D]=fun_pca(g);E_proj = E(:,1:p); %取最大的p个特征值所对应的特征矢量进行降维g_proj = g'*E_proj; %从bs*bs维映射到p维% 恢复图像g_rec = g_proj*E_proj';s = g_rec' + g_m;s = col2im(s, [bs bs], [M N], 'distinct');figure(1),subplot(122),imshow(s,[]);title('Recovered Image');function [E,D] = fun_pca(X)% do PCA on image patches% INPUT variables:% X matrix with image patches as columns% OUTPUT variables:% E 特征矢量(第一列对应最大特征值)% D 特征值(按下降顺序排列)% Calculate the eigenvalues and eigenvectorscovarianceMatrix = X*X'/(size(X,2)-1);[E, D] = eig(covarianceMatrix);% Sort the eigenvalues and recompute matrices[d_out,order] = sort(diag(D),'descend');E = E(:,order);d = diag(D); D = diag(d(order));
0 0
- PCA图像压缩的matlab实现
- PCA的MATLAB实现
- PCA的MATLAB实现
- matlab简易实现图像压缩
- PCA与图像压缩
- 基于DCT的图像压缩及Matlab实现
- PCA算法学习_2(PCA理论的matlab实现)
- PCA算法学习_2(PCA理论的matlab实现)
- PCA算法学习_2(PCA理论的matlab实现)
- PCA算法学习_2(PCA理论的matlab实现)
- PCA算法学习_2(PCA理论的matlab实现)
- matlab使用神经网络实现图像压缩
- PCA的一些基本资料 以及MATLAB实现
- 主成分分析PCA的matlab实现
- PCA的原理及MATLAB实现
- PCA matlab实现
- Matlab实现PCA
- PCA-MATLAB 实现
- Java Web应用中调优线程池的重要性
- bzoj 1257: [CQOI2007]余数之和sum
- 迷宫的最短路径
- [2016腾讯暑期实习在线笔试题]最长回文字符串
- 块级元素与行级元素分类
- PCA图像压缩的matlab实现
- socket编程 单向服务端与客户端通信,仅供参考
- UDP协议中的用法
- hdu 5274(树链剖分)
- hdoj 5656 CA Loves GCD 【dp】
- vpn错误记录
- 概率论与数量统计(二)2___ 随机事件与概率
- 蛇形矩阵
- 03-树1 树的同构