栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用java编写DCT变换和反DCT变换

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用java编写DCT变换和反DCT变换

DCT变换、DCT反变换
matlab实现详细过程不使用函数实现

java实现二维数组DCT和反DCT变换,程序可直接执行

二维DCT变换其实是在一维DCT变换的基础上在做了一次DCT变换,其公式如下

由公式我们可以看出,上面只讨论了二维图像数据为方阵的情况,在实际应用中,如果不是方阵的数据一般都是补齐之后再做变换的,重构之后可以去掉补齐的部分,得到原始的图像信息,这个尝试一下,应该比较容易理解。
另外,由于DCT变换高度的对称性,在使用Matlab进行相关的运算时,我们可以使用更简单的矩阵处理方式


    public double [][] apllyDCT(int blocksize,  int block[][]) {


        double c = 0.0;
        double[][] A1 = new double[blocksize][blocksize];//A1代表变换矩阵
        double sizedouble=blocksize;
        for (int i=-1;i 

在图像的接收端,根据DCT变化的可逆性,我们可以通过DCT反变换恢复出原始的图像信息,其公式如下:
同样的道理,我们利用之前的矩阵运算公司可以推导出DCT反变换相应的矩阵形式:


    public int [][] apllyIDCT(int blocksize,  double block[][]) {


        double c = 0.0;
        double[][] A1 = new double[blocksize][blocksize];//A1代表变换矩阵
        double sizedouble=blocksize;
        for (int i=-1;i 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/681951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号