一、获取代码方式

获取代码方式1:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。

获取代码方式2:
完整代码已上传我的资源:【图像重建】基于matlab主成分分析图像压缩重建【含Matlab源码 1173期】

备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);

二、简介

1 PCA
PCA (Principle Component Analysis)是统计学中的主成分分析方法。主成分分析方法从矩阵角度讲也称K-L变换。使用PCA方法对图像进行压缩和重建的大致过程:
2 PCA图像压缩
图像压缩:首先将图像训练库里的每个二维图像拉伸成向量。然后对其进行主成分分析得到主成分的变换矩阵以及图像均值向量。图像压缩过程就是把待压缩的图像减去训练得到的图像均值向量并通过变换矩阵变换成维数很小的一个向量的过程。
3 PCA图像重建
图像重建:就是将压缩的图像通过变换矩阵的逆变换后再加上图像均值向量得到的压缩前向量的近似向量。因为是主成分分析,所以图像会有较少的信息损失,并且不能完全复原,但是这种信息损失一般是非常小的。

三、部分源代码

clc; clear all; close all;
I=imread('liftingbody.png');
k=1;for p=1:5:20[Ipca,ratio,contribution]=pcaimage(I,p,[24 24]);subplot(2,2,k);    imshow(Ipca)title(['主成分个数=',num2str(p),...k=k+1;
end
function [Ipca,ratio,contribution]=pcaimage(I,pset,block)
if nargin<1I=imread('football.jpg');
end
if nargin<2pset=3;
end
if nargin<3block=[16 16];
end
if ndims(I)==3I=rgb2gray(I);
end
X=im2col(double(I),block,'distinct')';
[n,p]=size(X);
m=min(pset,p);X=score*coeff';
Ipca=cast(col2im(X',block,size(I),'distinct'),class(I));
ratio=n*p/(n*m+p*m);
function [coeff,score,rate]=pcasample(X,p)
[V,D]=eig(X'*X);
for i=1:size(V,2)[~,idx]=max(abs(V(:,i)));V(:,i)=V(:,i)*sign(V(idx,i));
end
[lambda,locs]=sort(diag(D),'descend');
V=V(:,locs);rate=sum(lambda(1:p))/sum(lambda);

四、运行结果

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

【图像重建】基于matlab主成分分析图像压缩重建【含Matlab源码 1173期】相关推荐

  1. 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】

    一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...

  2. 【Matlab语音分析】语音信号分析【含GUI源码 1718期】

    一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...

  3. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  4. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  5. 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...

  6. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  7. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  8. 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】

    一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...

  9. 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】

    一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  10. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

最新文章

  1. 潜在狄利克雷分配(LDA,Latent Dirichlet Allocation)模型(一)
  2. 获取二进制或者16/32位的某一位的值
  3. 对Web设计有用的10组免费漂亮的图标
  4. raspberry pi_如何使用Raspberry Pi构建WiFi相框
  5. 访问订单列表时报错404
  6. 解决tab切换的时候,swiper不生效
  7. python可以做哪些有趣的事作文_那些有趣的事作文500字
  8. qrect在图片上显示矩形框_Mac上用LabelImg手动标记图片
  9. 湘潭大学计算机考研调剂,2017年湘潭大学硕士研究生调剂信息公告
  10. 营业执照生成_电子营业执照如何获取?
  11. 全国计算机教学图片,全国“xx杯”计算机类说课大赛课件一等奖作品:图层蒙版教学课件.pptx...
  12. archlinux安装QQ微信
  13. android仿QQ列表的效果实现
  14. 知识产权管理系统 开源_当前的知识产权格局如何影响开源
  15. 【HTML】【消失的花木兰】花木兰:三兔蹦迪走,安能辨我是兔子?
  16. 服务器文件增量备份,服务器文件增量备份
  17. Geoffrey Hinton——Godfather of Deep Learning
  18. 基于truffle-contract库之solidity事件与合约调用完整案例!
  19. Autofac 资料整理
  20. python离线安装tensorflow_TensorFlow的离线安装

热门文章

  1. IE浏览器,ajax提示错误“no transport”
  2. Shiro学习(23)多项目集中权限管理
  3. dispaly 的block与inline-block的用法
  4. 【九天教您南方cass 9.1】 08 绘制等高线及对其处理
  5. KR C C90,C99的改进
  6. opencv学习笔记1:图片灰度化
  7. 20191116每日一句
  8. Wilcoxon Signed-Rank Test
  9. Atitit httpclient 概述  rest接口
  10. Atitit 数据库映射到redis存储的模式 1. 常规 每条db记录映射一个redis记录 1 1.1. 表名:主键为key ,记录序列化为json为val 1 2. 每个字段映射一个redi