由于二维变换展开形式过于复杂,这里不进行展开 感兴趣的读者可以查阅相关资料进行学习.
OpenCV4 提供了 dct()函数用于计算离散余弦变换.

离散余弦逆变换

离散余弦变换的正逆交换是相反的交换,由于 dct()函数只能变换单通道的矩阵,因此分别对单个通道进行离散余弦变换,并将变换结果重新组成一幅具有三通道的彩色图像。

void visionagin::Mydct()
{//对数据进行离散余弦变换Mat data = (Mat_<float>(5, 5) << 1, 2, 3, 4, 5,2, 3, 4, 5, 6,3, 4, 5, 6, 7,4, 5, 6, 7, 8,5, 6, 7, 8, 9);Mat data_out, i_data_out;dct(data, data_out);idct(data_out, i_data_out);cout << data_out << endl;cout << i_data_out << endl;Mat img = imread("C:\\Users\\86176\\Downloads\\visionimage\\gaoda.jfif");imshow("原图", img);//计算最优尺寸int width = 2 * getOptimalDFTSize((img.cols + 1)/2);int height = 2 * getOptimalDFTSize((img.rows + 1) / 2);//扩展图像int t = 0;int b = height - img.rows - t;int l = 0;int r = width - img.cols-l;Mat appropriate;copyMakeBorder(img, appropriate, t, b, l, r, BORDER_CONSTANT, Scalar(255, 255, 255));//对三通道分别进行余弦离散变换vector<Mat>channels;split(appropriate, channels);//提取bgr各通道的值Mat one = channels.at(0);Mat two = channels.at(1);Mat three = channels.at(2);Mat one_out, two_out, three_out;//数据必须是单通道的浮点数dct(Mat_<float>(one), one_out);dct(Mat_<float>(two), two_out);dct(Mat_<float>(three), three_out);//再将结果合并vector<Mat>total_out;total_out.push_back(one_out);total_out.push_back(two_out);total_out.push_back(three_out);Mat result;merge(total_out, result);imshow("result", result);
}

day26:离散余弦变换相关推荐

  1. python实现傅里叶变换求幅值和相位_Python 实现图像快速傅里叶变换和离散余弦变换...

    图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了二维离散傅里叶变换和二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的 ...

  2. 利用python对图像进行傅里叶变换_Python 实现图像快速傅里叶变换和离散余弦变换...

    图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了 二维离散傅里叶变换 和 二维离散余弦变换 算法,并在多个图像样本上进行测试,以探 ...

  3. 语音信号处理(九)——离散余弦变换

    文章目录 1.定义 2.用C语言实现离散余弦变换 1.定义 DCT(Discrete Cosine Transform)离散余弦变换,其常见用途是对音视频进行数据压缩.离散余弦变换具有信号谱分量丰富. ...

  4. 图像处理 有损压缩变换-离散余弦变换

    文章目录 离散余弦变换概念 形式 应用 图像处理过程: 特征 变换步骤 离散余弦变换概念 离散余弦变换(英语:discrete cosine transform, DCT)是与傅里叶变换相关的一种变换 ...

  5. Python 实现图像快速傅里叶变换和离散余弦变换

    图像的正交变换在数字图像的处理与分析中起着很重要的作用,被广泛应用于图像增强.去噪.压缩编码等众多领域.本文手工实现了二维离散傅里叶变换和二维离散余弦变换算法,并在多个图像样本上进行测试,以探究二者的 ...

  6. 理解DCT与DST【二】:离散余弦变换

    本文主要是将先前的博客 离散傅里叶变换DFT.离散余弦变换DCT.离散正弦变换DST,原理与公式推导 从图片修改为 Markdown 脚本,方便读者浏览,同时增加了部分内容.但由于文章字符过多,无法全 ...

  7. 数字图像处理与Python实现-离散余弦变换

    离散余弦变换 离散余弦变换 1. 前言 2.数学表达 3. 代码实现 1. 前言     离散余弦变换(DCT for Discrete Cosine Transform)是与傅里叶变换相关的一种变换 ...

  8. JPEG压缩原理与DCT离散余弦变换

    原文网址:http://blog.csdn.net/newchenxf/article/details/51719597 转载请注明出处喔 1 前言 JPEG是joint Photographic E ...

  9. 图像处理 离散余弦变换

    什么是DCT 一维DCT变换 一维DCT变换时二维DCT变换的基础,所以我们先来讨论下一维DCT变换.一维DCT变换共有8种形式,其中最常用的是第二种形式,由于其运算简单.适用范围广.我们在这里只讨论 ...

最新文章

  1. 十三、进程互斥的软件实现方法
  2. [CODEVS 1173] 最优贸易
  3. java 拖放文字_myeclipse2014如何实现jsp中的html代码的文字拖放
  4. 2020年产品经理生存报告
  5. YAML_01 YAML语法和playbook写法
  6. 海绵城市工程_打造透水“民心路”、共创海绵“生态城”|市政工程管理处持续推进城市道路“黑臭水体改造”工程...
  7. python3基本语法规则,Python中的语法规则
  8. 关于图灵机的三个问题
  9. 小米r1d安装php,小米路由器 一键安装LLM教程
  10. JSP从入门到精通_课堂实战视频教程
  11. Could not resolve subtype of [simple type, class org.apereo.cas.services.Reg...
  12. 【2020】年学而思全套暑秋寒春(1376G)
  13. OCR营业执照识别助力工商信息智能注册
  14. SqlServer 调优的几个关键的步骤--sp_lock,sp_who
  15. 高中数学40分怎么办_高二了数学40多分还有救吗?
  16. OpenCV之图像像素归一化
  17. 简单的复习下箭头函式
  18. 基于MaxEnt模型的云南红豆杉潜在适宜分布预测
  19. 乙腈和水共沸_常用有机溶剂共沸点
  20. 基于单片机的心率脉搏检测电路设计(#0200)

热门文章

  1. python基础篇{控制流语句}
  2. 微信资料打印,多页可以合在一张a4纸上吗
  3. DiffuseVAE:完美结合VAE和Diffusion Models
  4. firewalld 使用
  5. ubuntu中使用Playonlinux安装exe程序——以安装爱奇异为例。
  6. oracle游标卡尺作用,四深度游标卡尺的结构原理、规格、用途
  7. 托尔斯泰经典语录30条
  8. 荣耀平板v6能升级鸿蒙系统,华为终于“出手”,这50款机型可首批升级鸿蒙系统,花粉有福了...
  9. 分享到微信列表、朋友圈、微信小程序,分享到qq、qq空间、分享qq小程序,分享到微博
  10. Qcon · 上海丨融合通信技术探索与 AI 技术商业化实战专场,看看网易智企都将分享哪些干货?...