一种全新的图像变换理论的实验(五)——研究目的替代DCT和小波

news2024/9/24 17:14:59

一、前言

目前在大量的灰度图像测试下,基本确定变换系数ratio取值0-25之间时,逆变化后的图还能基本保障效果,而且越接近0效果越好。本文还是以lenna.bmp灰度图为例,实验不再逆变换,而是把变换后的数据直接输出为bmp的灰度值,通过观察变换后的图像,思考两个问题:
1、从变换后的图可以看出我的变换算法与 DCT变换、小波变换是完全不同的,这里大家可以参考小波图像处理和 DCT图像处理(也可以参考 图像DCT变换),这里就不再把lenna.bmp在小波和DCT变换后的图重复贴出来。
2、设定ratio变换后通过统计和分析,给出变换后各个字节值的统计值以及对应的直线散点图,找出针对变换后的规律以及思考压缩方案。

二、不同变换参数下的图例

(2.1)ratio = 5

实验方法是不进行逆变换,直接把变换后的字节输出为bmp的灰度值,也可以理解为频谱信息如下:
在这里插入图片描述
从这个图不难看出,通过我的变换算法变换后是和DCT、小波完全不同的结果。
DCT变换的频谱信息如下:
在这里插入图片描述
小波变换的频谱信息如下:
在这里插入图片描述
显然,与DCT和小波变换是完全不同的,而且无法通过频谱信息得出有效的结论,所以只能从统计的角度给出各个符号出现的概率。

(2.2)ratio = 10,15,20

下图为ratio = 10
在这里插入图片描述
下图为ratio = 15
在这里插入图片描述
下图为ratio = 20
在这里插入图片描述
通过实验,我们能得到的唯一结论就是,频谱信息越来越白,这就是为什么前面的实验我一直都是以统计0xFF的数量来分析的。

三、不同变换参数下各字节统计值的散点图

在这里插入图片描述
不难得出,各个值的统计特征基本相同,而且0xFF、0x80,0xC0,0xE0以及其他的几个特殊的值会大量出现,但是各个字节出现的位置是随机的,不确定的。所以我的变换算法最适合采用类似哈夫曼编码、算术编码类的方式进行压缩,即不同的字节值根据概率给定不同的码字,以ratio=20为例,0xFF共有128384,如果分配的码字为1,那么利用哈夫曼编码至少可以压缩到16048个字节。
当然,从优化的角度来讲,也可以以行为单位,或块为单位变换,这个将放在后面作为图像压缩和视频压缩的优化方案中。
接下来,我会采用加权概率模型的熵编码进行压缩实验。

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

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

相关文章

如何计算Bitmap的内存占用

日常我们提到图片大小的时候,一般都会把关注点放在图片的文件大小。因为一般来说,图片文件越小,内存占用也会越小。但是其实图片文件大小和内存占用大小没有什么直接的必然联系,我们可以通过查看 Android 的 Bitmap 的内存分配&am…

GitLab 专家分享|关于 DevSecOps ,你需要知道这几点

本文来源:about.gitlab.com 译者:极狐(GitLab) 市场部内容团队 ❔ 灵魂拷问: 你的安全测试,能否跟上现代软件开发模式的步伐? GitLab 预测到,2023 年企业会将更多的时间和资源投入到持续的安全左移上&…

Day08-网页布局实战表单和表格

文章目录网页布局实战一 表单案例1-表单前后端交互案例2-常用表单元素知识点input的属性总结:type属性的其他值(了解):按钮label标签二 结构伪类选择器三 表单布局案例案例1贯穿案例-登录页面制作案例2贯穿案例-注册页面制作四 表格案例1-表格设计案例2-…

taobao.item.propimg.upload( 添加或修改属性图片 )

¥开放平台基础API必须用户授权 添加一张商品属性图片到num_iid指定的商品中 传入的num_iid所对应的商品必须属于当前会话的用户 图片的属性必须要是颜色的属性,这个在前台显示的时候需要和sku进行关联的 商品属性图片只有享有服务的卖家(如&a…

JVM对象实例化详解

1、对象创建方式你知道几种呢?new:最常见的方式、Xxx的静态方法,XxxBuilder/XxxFactory的静态方法Class的newInstance方法:反射的方式,只能调用空参的构造器,权限必须是publicConstructor的newInstance(XXX…

maven 私服nexus安装与使用

一、下载nexus Sonatype公司的一款maven私服产品 1、官网下载地址:https://help.sonatype.com/repomanager3/product-information/download 2、csdn下载地址:https://download.csdn.net/download/u010197591/87522994 二、安装与配置 1、下载后解压如…

【Rust日报】2023-02-28 Rust 和 WASM 如何驱动 1.1.1.1

为什么用 Rust 构建原生 UI 程序这么困难Rust 正被用于构建 Linux 内核和 Android 操作系统,也被 AWS 用于关键基础设施,以及用于 ChromeOS 和Firefox。尽管 Rust 很有前景,但它在 GUI 原生开发领域还有所欠缺。在 2019 年,GUI 是…

【Springboot】Springboot集成 Druid

Springboot集成 Druid 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringData的方式进行统一管理,添加大量的自动配置,屏蔽了很多设置。引入了各种XxxTemplate和XxxRepository来简化我们队数据访问层的操作。 Sp…

FCT: The Fully Convolutional Transformer for Medical Image Segmentation 论文解读

The Fully Convolutional Transformer for Medical Image Segmentation 论文:The Fully Convolutional Transformer for Medical Image Segmentation (thecvf.com) 代码:Thanos-DB/FullyConvolutionalTransformer (github.com) 期刊/会议:W…

性能调优,看过的都说会了...

在展开今天的内容之前,我们先来看一下,是不是任何一个测试都可以学习性能测试。 如果说需求、开发、DB、运维、测试是单一一门学科,那么性能就是综合学科,它包含了需求分析、DB、开发、测试、运维的所有学科。 所以说&#xff0…

深度学习在耐火砖项目的一些思考

1.项目概述 年前,产品经理找到我,让我去测试3D视觉耐火砖拆垛项目。大概就是这种转 2. 实际情况 去了现场,采集图像,标定相机和机器人。发现客户不是要顶点的中心点坐标,而是要侧面中心点坐标。因为他们是从侧面抓…

Spring中Emable和Import相关操作

05-SpringBoot自动配置-Enable注解原理 SpringBoot不能直接获取在其他工程中定义的Bean 演示代码: springboot-enable工程 /*** ComponentScan 扫描范围:当前引导类所在包及其子包** com.itheima.springbootenable* com.itheima.config* //1.使用Compo…

mysql数据库之sql优化

一、插入数据时的优化。 1、批量插入。 insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); 2、手动提交事务。 start transaction; insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert into tb_test values(4,Tom),(5,Cat),(6,Jerry); insert into tb_test…

【Web服务部署】使用gunicorn部署django程序并一键更新

Web服务部署 【Linux防火墙】网络ip和端口管理 Windows云服务器使用IIS搭建PythonDjangoMysql网站,以及如何部署多个网站 WindowsIIS部署多个Django网站 文章目录Web服务部署前言一、Gunicorn是什么?二、Gunicorn基本使用1.引入库2.常用命令3.gunicorn快…

【Servlet篇2】Servlet的工作过程,Servlet的api——HttpServletRequest

一、Servlet的工作过程 二、Tomcat的初始化 步骤1:寻找到当前目录下面所有需要加载的Servlet(也就是类) 步骤2:根据类加载的结果创建实例(通过反射),并且放入集合当中 步骤3:实例创建好之后,调用Servlet的init()方…

SpringBoot接口+Redis解决用户重复提交问题

前言 1. 为什么会出现用户重复提交 网络延迟的情况下用户多次点击submit按钮导致表单重复提交;用户提交表单后,点击【刷新】按钮导致表单重复提交(点击浏览器的刷新按钮,就是把浏览器上次做的事情再做一次,因为这样也…

前后端分页查询好大的一个坑(已解决)

前言:如果你在做前后端的分页查询,找不到错误,请你来看看是否是和我一样的情况?情况:做了一个前后盾UI的项目,有一个页面是查询系统日志,要进行分页查询;第一页的:第5页的…

MYSQL 基础篇 | 02-MYSQL基础应用

文章目录1 MySQL概述2 SQL2.1 SQL通用语法2.2 SQL分类2.3 DDL2.3.1 数据库操作2.3.2 表操作2.4 DML2.4.1 添加数据2.4.2 修改数据2.4.3 删除数据2.5 DQL2.5.1 基础查询2.5.2 条件查询2.5.3 聚合查询2.5.4 分组查询2.5.5 排序查询2.5.6 分页查询2.5.7 综合练习2.6 DCL2.6.1 管理…

SQLMAP使用

SQLMAPSQLMAP是什么SQLMAP可以对URL做什么?SQLMAP支持的注入技术SQLMAP检测注入漏洞流程:SQLMAP的误报检测机制SQLMAP基本使用常见用法常见参数tamper参数操作系统权限参数文件读写参数SQLMAP是什么 SQLMAP是一个开源的自动化SQL注入工具,主…

SAP 生产订单/流程订单中日期的解释

SAP 生产订单/流程订单中日期的解释 基本开始日期:表示订单的开始日期 基本完成日期:表示订单的完成日期 我们在输入基本开始日期和基本完成日期时需要关注 调度 下面的“类型”,其中有向前、向后、当天日期等: 调度类型 为向前…