原文地址:http://hi.baidu.com/huguosheng/item/06393d5744ee9f3795eb05f2

example 1(use real image):

A=imread('class_f.png');
imshow(A) %A is unit8(0,255)
C=dct2(A); %进行余弦变换
figure;
B=log(abs(C));
imshow(B)
colormap(jet(64)); %显示为64级灰度
colorbar; %显示颜色条,显示变换后的系数分布
C(abs(C)<10)=0; %将DCT变换后的系数值小于10的元素设为0
%E=idct2(C);
D=idct2(C)./255; %对DCT变换值归一化,进行余弦反变换???
figure;
imshow(D) ;
% imshow(uint8(E)); is the same as D=idct2(C)./255
% imshow(E,[]); is the same as D=idct2(C)./255

FF=abs(C)<10; %Compute the number of elements which are smaller than 10
sum(sum(FF)) %result:56632
GG=abs(C)>10; %Compute the number of elements which are larger than 10
sum(sum(GG)) %result:16025

example 2(use artifical image):
constant Image(low frequency image)
A=ones(5);
B=dct2(A)
A =

1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
after DCT transformation
     5     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
     0     0     0     0     0
C=idct2(B) %reconstruction according to B

random image(high frequency image)
A=randn(5)
B=dct2(A)
A =

-0.4326    1.1909   -0.1867    0.1139    0.2944
   -1.6656    1.1892    0.7258    1.0668   -1.3362
    0.1253   -0.0376   -0.5883    0.0593    0.7143
    0.2877    0.3273    2.1832   -0.0956    1.6236
   -1.1465    0.1746   -0.1364   -0.8323   -0.6918

ans =

0.5853   -0.5033   -1.3505   -1.2524   -0.3519
    0.2492    0.1007   -0.4273    0.1201   -1.5079
   -0.8317    0.4357   -0.4183   -0.5794   -0.4022
    1.7697   -0.3482    1.3882   -0.3871    1.4934
   -1.0525    0.1744    1.7976    0.0521   -0.4997
B(abs(B)<0.1)=0;//0.1 is threshold
C=idct2(B);//reconstruction

DCT 变换(几个简单的MATLAB的例子)相关推荐

  1. DCT变换编码matlab,基于DCT变换的图像压缩编码的MATLAB实现

    基于DCT变换的图像压缩编码的MATLAB实现 今天是一个信息化.网络化的时代,通过Internet可以获取全面的文字.图像.声音等信息,但是,图像信息需要占据大量的存储空间,给原始数 (本文共4页) ...

  2. MATLAB中 DCT变换、DCT反变换、分块DCT变换

    DCT变换.DCT反变换.分块DCT变换 欢迎转载,但请注明出处!转:http://www.tuicool.com/articles/nUfmAf2 一.引言 DCT变换的全称是离散余弦变换(Disc ...

  3. DCT变换、DCT反变换、分块DCT变换

    一.引言 DCT变换的全称是离散余弦变换(Discrete Cosine Transform),主要用于将数据或图像的压缩,能够将空域的信号转换到频域上,具有良好的去相关性的性能.DCT变换本身是无损 ...

  4. 【DCT笔记】DCT变换、DCT反变换、分块DCT变换

    DCT变换.DCT反变换.分块DCT变换 欢迎转载,但请注明出处! 一.引言 DCT变换的全称是离散余弦变换(Discrete Cosine Transform),主要用于将数据或图像的压缩,能够将空 ...

  5. 图片相似度计算:深入理解DCT变换以及感知哈希

    缘起 Android上硬件编解码一直是个老大难问题,就解码来说,硬解码本身并不困难,只要按照MediaCodec的流程开发即可.但由于系统碎片化,硬件规格不一致,硬件解码会到黑屏,花屏,绿屏之类的显示 ...

  6. matlab实现图像DCT变换

    实验三 图像的DCT变化及量化 一.问题描述 利用matlab,将road.tif彩色图像的分辨率转换为256*256,将图片转化为double数据类型,再利用T=dctmtx(8)建立一个8*8的D ...

  7. DCT变换及matlab实现

    1.一维DCT变换 一维的DCT变换共有8种,其中最实用的是第二种形式,公式如下: 其中c(u)是加上去一个系数,为了能使DCT变换矩阵成为正交矩阵,在后面二维变换将看到他的作用.N是f(x)的总数. ...

  8. dct基 matlab,DCT 变换的基函数与基图像

    DCT 变换的基函数与基图像 1. 图像变换的基函数 在图像的二维变换中, 如果图像本身是正方形的 (图像的长与宽相等), 并且图像的变换核满足课可分离性和对称性, 则此时图像的二维变换可以用两个一维 ...

  9. matlab 灰度图像dct变换,[Week2.4]图像DCT变换

    均方差(Mean Square Error, MSE) 评价一幅图像压缩前和压缩还原后的差异,有两种常用方法: ①大家来找茬--进化程度高的人类可轻易识别: ②数学方法--压缩前和还原后的图像作均方差 ...

最新文章

  1. 微信小程序左滑删除效果的实现完整源码附效果图
  2. 干货丨手把手带你玩转机器学习和深度学习
  3. Redis学习笔记——初级
  4. Android背景渐变色(shape,gradient)
  5. 数值选择器(NumberPicker)的功能与用法
  6. 内网渗透-域内信息收集
  7. perl python json_Perl解析JSON数据精解
  8. 深入解析final关键字的用法
  9. 重新组织和重新生成索引(转载)
  10. 墨条不如墨汁黑是怎么回事?
  11. inux_异常_07_ftp查看不到文件列表
  12. PCB制造常用的13种测试方法,你了解几种?
  13. [计算几何] [BZOJ4246] 两个人的星座
  14. Chat-REC、InstructRec(LLM大模型用于推荐系统)
  15. HBase进化之从NoSQL到NewSQL,凤凰涅槃成就Phoenix 1
  16. txt文本文件数据转ArcGIS中的tif文件
  17. [学习]简易搜索引擎的制作
  18. 【解决方案】聚焦两会-国标EasyGBS流媒体平台在2021年两会重点工作环保充电桩的视频监控应用
  19. SI好文翻译:铜箔表面纹理对损耗的影响:一个有效的模型(一)
  20. python2.7安装手把手教程_手把手windows64位配置安装python2.7

热门文章

  1. java 姓名_Java生成随机姓名、性别和年龄的实现示例
  2. html5语义化标签及优点
  3. OLED显示与LCD显示的区别
  4. 7T, 9T and Track
  5. 设计模式01策略模式
  6. 安装Mariadb columnStore(10.3版本)
  7. Linux CentOS6和CentOS7设置静态ip
  8. 【C和指针】const指针
  9. EMC Select计划首现国内厂商 迪思杰拔头筹
  10. 迪思杰oracle 11g rac,Oracle 11g RAC UDEV管理RAC共享存储