图像处理中的DCT变换

news2024/11/24 8:38:51

图像处理中的DCT变换

Discrete Cosine Transform,离散余弦变换。
来源及公式推导,可以查看下面链接,介绍的比较详细,这里就不再重复说明了:

  • 详解离散余弦变换(DCT) - 知乎 (zhihu.com)
  • DCT变换 - 知乎 (zhihu.com)

目前DCT变换广泛应用于图像处理中,主要是由于其频谱特性决定的,如下图所示,低频主要集中于左上角,高频集中于右下角。
在这里插入图片描述

频谱分布

DCT变换的频谱分布可以总结为下图。
在这里插入图片描述
下面是找的一些图像进行了验证,可以看到基本符合上述分布。
在这里插入图片描述

主要应用

基于DCT变换后图像的频谱分布特征,主要有以下几个方面的应用:

  • 压缩:这个是使用最广泛的一个应用,经常见到的JPEG图像中就使用了DCT来压缩图像
  • 去噪:这个与压缩有点类似
  • 增强:这个刚好与去噪反过来
压缩

图像压缩是利用人眼对低频信息比较敏感和对高频信息比较不敏感的原理,对DCT变换后的图像,去除部分高频信息,让人眼察觉不到改变,从而实现压缩。
如下图所示为保留DCT变换后系数的比例,可以看到仅保留左上角32%的系数基本就可以让人眼看不出来变化。
在这里插入图片描述
DCT在JPEG中的详细应用,可以查看这篇博客:一篇文章搞定DCT在JPEG中的本质 - 知乎 (zhihu.com)

去噪

图像去噪是利用噪声在DCT图像中的分布特性(噪声一般为高频信息,DCT变换后频谱的右下角),基本的方法就是去除DCT变换后图像的右下角信息,类似图像压缩。这里找到一篇大神写的博客:SSE图像算法优化系列二十一:基于DCT变换图像去噪算法的进一步优化(100W像素30ms)。 - Imageshop - 博客园 (cnblogs.com)
在这里插入图片描述

增强

没有找到相关的博客。其基本原理就是增强高频信息(与去噪相反),最简单的方法就是对高频信息乘以一个大于1的数。当然这样也会增强噪声。DCT图像增强仅对细节进行了增强,图像整体亮度对比度还需结合其他方法。
下面是在《Dark and low-contrast image enhancement using dynamic stochastic resonance in discrete cosine transform domain》文章找的几个例子:
在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1361104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

仿真炫酷烟花+背景音乐-H5代码实现_可直接运行【附完整源码】

文章目录 背景效果实现源码代码解析完整源码下载总结寄语 背景 烟花仿真是一项具有创意和娱乐性质的项目,旨在通过H5技术实现炫酷的烟花效果,并结合背景音乐营造出一个生动、愉悦的视听体验。该项目的目标是通过Web浏览器即时展现精美的烟花效果&#x…

ubuntu20.04安装cuda11.7和显卡驱动

1、禁用nouveau sudo vi /etc/modprobe.d/nouveau.conf 在最下面加入blacklist nouveau sudo update-initramfs -u sudo reboot 输入命令,如果没有任何输出,证明禁用成功 lsmod | grep nouveau 2、安装cuda11.7 CUDA Toolkit Archive | NVIDIA Deve…

再谈“敏捷”与“瀑布”在产品开发过程中的反思

作为一家专注于软件开发的公司《智创有术》,我们致力于为客户提供创新、高效和可靠的解决方案。通过多年的经验和专业知识,我们已经在行业内建立了良好的声誉,并赢得了客户的信任和支持。 支持各种源码,网站搭建,APP&a…

AI绘画Midjourney绘画提示词Prompt大全

一、Midjourney绘画工具 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭…

网络通信(10)-C#TCP客户端实例

本文使用Socket在C#语言环境下完成TCP客户端的实例。 实例完成的功能: 客户端与服务器连接,实现实时刷新状态。 客户端接收服务器的数据。 客户端发送给服务器的数据。 客户端实时判定状态,断开连接后自动重连。 客户端与服务器端发送心跳包。 在VS中创建C# Winform项…

UE5 VR版增强输入初体验 官方模板学习

问题 我们传统的输入方式,是通过编辑器设置输入操作映射,然后BindAction和BindAxis绑定 这边插播一条增强输入知识点,参考知乎大佬文章 和增强输入的VR模板教学:如何使用VR模板在UE5中使用增强输入系统_哔哩哔哩_bilibili 实践操…

JMeter之测试WebService接口

JMeter之测试WebService接口 1 背景2 目的3 介绍4 具体操作4.1 soapUI调用4.2 JMeter工具调用4.3 操作步骤流程4.3 重点 1 背景 WebService应用的范围是非常广,任何需要跨平台、跨系统进行数据交换和功能调用的场景都可以用此来实现,在实际的工作中也常常…

【python入门】day20:学生信息管理系统CRUD,排序模块和项目打包中的业务流程、具体实现

CRUD,每个程序员都必须掌握的 录入C create def save(lst):#保存信息try: #保存成绩时有可能出错,所以使用try-exceptstu_txtopen(filename,a,encodingutf-8)#filename是个变量,所以不用写单引号#文件以追加模式打开#怕中文乱码&…

1.5 Unity中的数据存储 PlayerPrefs、XML、JSON

Unity中的三种数据存储:数据存储也称为数据持久化 一、PlayerPrefs PlayerPrefs是Unity引擎自身提供的一个用于本地持久化保存与读取的类,以键值对的形式将数据保存在文件中,然后程序可以根据关键字提取数值。 PlayerPrefs类支持3种数据类…

CTFhub-Web-Web前置技能-“302跳转“

题目信息 HTTP临时重定向,题目截图如下所示: 分析过程 看到跳转路径为:http://challenge-d1a96d97eaecf029.sandbox.ctfhub.com:10800/index.html 分析可能存在重定向问题,如果要想获得flag,则可能存在http://chal…

秋招复习之树

目录 前言 1 二叉树 二叉树常见术语 二叉树基本操作 初始化二叉树 插入与删除节点 常见二叉树类型 1. 完美二叉树 2. 完全二叉树 3. 完满二叉树 4. 平衡二叉树 二叉树的退化 2 二叉树遍历 层序遍历 代码实现 复杂度分析 前序、中序、后序遍历 复杂度分析 3 二叉树数组表示 表…

大一,如何成为一名fpga工程师?

​ 1、数电(必须掌握的基础),然后进阶学模电(选学), 2、掌握HDL(HDLverilogVHDL)可以选择verilog或者VHDL,建议verilog就行。 3、掌握FPGA设计流程/原理(推…

YOLOv5源码中的参数超详细解析(6)— common.py

前言:Hello大家好,我是小哥谈。YOLOv5是一种先进的目标检测算法,它可以实现快速和准确的目标检测。common.py文件是YOLOv5中的一个模块,它包含了一些常用的函数和类,用于定义网络结构中的各个模块。该文件中的函数和类被其他文件引用,用于构建整个YOLOv5模型。本节课就结…

「Verilog学习笔记」任意奇数倍时钟分频

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1nsmodule clk_divider#(parameter dividor 5) ( input clk_in,input rst_n,output clk_out );parameter CNT_WIDTH $clog2(dividor - 1) ; reg flag1, f…

开发个小破软件——网址导航,解压就能用

网址导航 网站导航也称链接目录,将网站地址或系统地址分类,以列表、图文等形式呈现,帮助快速找到需要的地址。 应用场景 高效查找:网址导航是很好的入口,通过分类清晰的网站推荐,可以迅速访问网站资源。…

【网络层】网际控制报文协议ICMP(湖科大慕课自学笔记)

网际控制报文协议ICMP 1:网际控制报文协议ICMP基本概述 ICMP报文被封装在IP数据报中发送 1:ICMP报文格式 ICMP报文作为IP数据报的数据载荷,IP协议为其添加一个首部使之成为IP数据报 2:ICMP报文类型 ICMP报文分为两大类&#x…

C++string类的介绍及常用函数用法总结

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生🐻‍❄个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE🐼本文由GOTXX原创,首发CSDN&a…

java 打印日志的几种方式

java 打印日志的几种方式 Java 日志框架进化史日志门面与日志系统 Log4jslf4jLog4j2slf4jLogbackslf4j 一、先简单介绍五种 (1)最简单的方式,就是system.println.out(error) ,这样直接在控制台打印消息了; (2&#xff…

web前端——clear可以清除浮动产生的影响

clear可以解决高度塌陷的问题&#xff0c;产生的副作用要小 未使用clear之前 <!DOCTYPE html> <head><meta charset"UTF-8"><title>高度塌陷相关学习</title><style>div{font-size:50px;}.box1{width:200px;height:200px;backg…

晶圆代工降价竞争进入白热化,降幅最高15% | 百能云芯

随着半导体产业的不确定性和市况回落&#xff0c;晶圆代工市场再次掀起波澜&#xff0c;“降价大军”再添猛将。 据综合媒体报道&#xff0c;传三星计划在2024年第一季度调降晶圆代工报价&#xff0c;提供5%至15%的折扣&#xff0c;并表示愿意进一步协商。 台积电根据客户的投产…