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

news2024/9/22 23:36:57

一、前言

2023年02月28日凌晨1点
以前我定义为这个算法是滤波算法,实则上应该算是一种新变换算法,比如傅里叶变换(FFT)、离散余弦变换(DCT),以及小波变换。所以就把所有的标题改变了一下。
本次实验改进了图像质量,并且根据统计得出不同的图像效果,至少目前可以有效的应用于图像和视频压缩领域。下面的测试,
首先,对于字节来讲不存在大于0xFF的值,每个字节只会取值在0x00-0xFF,所以不要误解为这个值还会大于0xFF,因为测试时,我直接复制了前面的那行代码,懒得去改,而且里面特意说了“大于等于0xFF的字节数”。
其次,关于PSNR和SSIM两个参数,我将在论文中体现。
最后,就是比较压缩率,其实实验里面给出了符号1的概率,大家可以直接计算一下在未考虑行程编码的二进制序列信息熵。因为基于字节进行行程编码后,大量的0xFF将被压缩成为(count,0xFF)或(0xFF,count)的方式,意思是在下一个非0xFF出现前,当前共有count个0xFF。

二、不进行滤波的实验效果

实验分别以变换系数5,10,15,20,25,30,值越大图像质量越差,和DCT以及小波不同,给出对应的统计值和图像逆变换后的效果,实验以lenna.bmp灰度图。实验以分别给出统计打印值和图像效果。

(2.1)系数5

在这里插入图片描述
在这里插入图片描述
此时图像质量几乎没有变化,但是大于等于0xE0的值达到了5万多且滤波后占比21%,以及0xFF的值占比5%,为什么统计这两个值?因为这代表在压缩时,这些值可以通过行程编码先进行处理,然后再进行熵编码,所以再有损压缩时能有效的提高图像的压缩率,同时有保障了图像的效果。

(2.2)系数10

在这里插入图片描述
在这里插入图片描述
此时图像质量几乎没有变化,但是大于等于0xE0的值达到了9万多且滤波后占比35%,以及0xFF的值占比13.5%,也就是从压缩率来讲,系数为10明显比系数为5时高。

(2.3)系数15

在这里插入图片描述
在这里插入图片描述
此时图像质量几乎没有变化,但是大于等于0xE0的值达到了14万多且滤波后占比50%,以及0xFF的值占比25.3%,从压缩率来讲,系数为15明显比系数为10时高。

(2.4)系数20

在这里插入图片描述
在这里插入图片描述
此时图像中出现少量的黑点,但是大于等于0xE0的值达到了20万多且滤波后占比64.6%,以及0xFF的值占比40.4%,从系数为16开始,我将在后面增加一个中值滤波对这些黑点进行滤波处理(请看第三节实验)。

(2.5)系数25

在这里插入图片描述
在这里插入图片描述
此时图像中出现大量的黑点,但是大于等于0xE0的值达到了26万多且滤波后占比76%,以及0xFF的值占比55%,第三节实验中进行了中值滤波。

(2.6)系数30

在这里插入图片描述
在这里插入图片描述
此时大于等于0xE0的值达到了31万多且滤波后占比85%,以及0xFF的值占比69%,第三节实验中进行了中值滤波。
显然,针对不同的变换系数,得到的图像质量的不相同的,而系数在30时已经使得图像无法直接恢复,但是我将在后面的新算法中去解决,相信针对这种情况还是有具体的滤波方案。

三、针对系数大于15的情况进行中值滤波

(3.1)系数20并且进行中值滤波

在这里插入图片描述
在这里插入图片描述
显然,黑色的点被很好去除,大于等于0xE0的值达到了20万多且滤波后占比64.6%,以及0xFF的值占比40.4%几乎不变,但是图像看起来有点朦胧,我将改进滤波算法。

(3.2)系数23并且进行中值滤波

在这里插入图片描述
在这里插入图片描述

显然,黑色的点被很好去除,存在出现了极少数的黑点,大于等于0xE0的值达到了24万多且滤波后占比72%,以及0xFF的值占比50%几乎不变,但是图像看起来有点朦胧,我将改进滤波算法。

(3.3)系数25并且进行中值滤波

在这里插入图片描述
在这里插入图片描述
显然,黑色的点被很好去除,但仍存在少量的黑点,大于等于0xE0的值达到了26万多且滤波后占比76%,以及0xFF的值占比55%,但是图像看起来有点朦胧,而且图像轮廓的边缘出现了锯齿,需要改进滤波算法。

(3.4)系数27并且进行中值滤波

在这里插入图片描述
在这里插入图片描述
显然,仍存在少量的黑点,大于等于0xE0的值达到了28万多且滤波后占比80%,以及0xFF的值占比61%,但是图像看起来有点朦胧,而且图像轮廓的边缘出现了锯齿,需要改进滤波算法。

(3.5)系数30并且进行中值滤波

在这里插入图片描述
在这里插入图片描述

四、结论

其实变换算法的好坏主要是体现在压缩率和极限压缩的效果上,比如小波变换,当去除大量小波系数后能有效的保存图像的基本结构(也就是能确定图像表达的大体内容),同样的我这个算发在极限压缩的情况下也能有效的保存图像的基本结构。
以变换系数为25为例,中值滤波后完全可以作为视频中的非关键帧使用,而系数为15的可以用来作为关键帧,然后结合帧间预测和其他的方案进行编码。
关于效率,也许你可以去看看我的理论《杰林码原来及应用》,作为一个线性的算法,变换的过程无需滤波器,仅需在逆变换时考虑滤波器,所以编码会比译码快一倍不止。
显然新算法的提出,要市场化是一个比较长的过程,因为变换算法+行程编码+我的熵编码,至少可以发布一款完全自主理论的图像格式。一个技术也需要长期的迭代和优化,期待能得到学者们的支持和深入研究。
在这里插入图片描述

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

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

相关文章

MySQL的InnoDB 三种行锁,SQL 语句加了哪些锁?

InnoDB 三种行锁: Record Lock(记录锁):锁住某一行记录 Gap Lock(间隙锁):锁住一段左开右开的区间 Next-key Lock(临键锁):锁住一段左开右闭的区间 哪些语句…

前端面试题 —— HTML

目录 一、src 和 href 的区别 二、对 HTML 语义化的理解 三、DOCTYPE(⽂档类型) 的作⽤ 四、script 标签中 defer 和 async 的区别 五、常⽤的 meta 标签有哪些? 六、HTML5 有哪些更新 八、行内元素有哪些?块级元素有哪些? 空(void)元素…

【正点原子FPGA连载】第十九章FreeRtos Hello World实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十九章FreeRto…

项目调研丨以太坊再质押项目EigenLayer白皮书四大看点(内附完整版中文白皮书)

北京时间2月21日下午,被众多一线投研机构视为2023年以太坊最重要的创新,有可能开启以太坊新叙事方向的项目Eigenlayer终于披露了其第一版白皮书。EigenLayer是以太坊的再质押集,允许共识层ETH质押者选择验证构建在以太坊生态系统之上的新软件…

第七节 面向对象

面向对象 1.类和对象是什么? )类:是共同特征的描述(设计图);对象:是真实存在的具体实例。 2.如何设计类? public class 类名 { 1、成员变量(代表属性的,一般是名词) 2、成员方法(代表行为的,一般是动词) 3.如何创建对象? 类名对象名new 类名(); 4.拿到对象后怎么…

ubuntu 编译安装支持CUDA的OpenCV

安装须知 cuda支持 在安装完“ linux CUDAtoolkitcudnntensorrt 的安装”之后进行支持cuda的opencv安装 否则报错:CMake Error at modules/dnn/CMakeLists.txt:41 (message): DNN: CUDA backend requires CUDA Toolkit. Please resolve dependency or disable OPE…

Ubuntu 安装指定版本 Mysql,并设置远程连接(以安装mysql 5.5 为例)

目录 一、安装Mysql 1、卸载Mysql(可跳过) 2、安装mysql 软件源 3、安装mysql 5.5 4、验证测试 二、设置远程登录 1、允许使用root账号远程连接 2、Mysql 允许远程登录 一、安装Mysql 1、卸载Mysql(可跳过) 如果之前安装…

数据结构六大排序

1.插入排序 1.插入排序 思路: 从第一个元素开始认为是有序的,去一个元素tem从有序序列从后往前扫描,如果该元素大于tem,将该元素一刀下一位,循环步骤3知道找到有序序列中小于等于的元素将tem插入到该元素后&#xff0…

卡特兰数

文章目录1、简介1.1 何为卡特兰数1.2 卡特兰数的通项公式2、应用2.1 题目1:括号合法题目描述思路分析2.2 题目2:进出栈的方式2.2.1 题目描述2.2.2 思路分析2.3 题目3:合法的序列2.3.1 题目描述2.3.2 思路分析2.3.3 代码实现2.4 题目4&#xf…

分布式ID生成系统

目录背景常用分布式ID生成系统介绍UUIDSnowflake背景 在大多数复杂的分布式系统中,往往需要对大量的数据和消息进行唯一标识。而对分布式系统后台数据库的分库分表后需要有一个唯一的ID来表示一条数据或者是消息。那么我们分布式系统ID一般都有哪些需求呢&#xff1…

IP地址、主机名、域名解析(DNS)

1.什么是IP地址 每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯 IP地址主要有两个版本:v4 v6 IPV4版本的地址格式名为:a.b.c.d,其中abcd表示0-225的数字,如192.168.88.10为一个标准地址 查看IP地址&#x…

Android 蓝牙开发——HCI log 分析(二十)

HCI log 是用来分析蓝牙设备之间的交互行为是否符合预期,是否符合蓝牙规范。对于蓝牙开发者来说,通过 HCI log 可以帮助我们更好地分析问题,理解蓝牙协议。 一、抓取HCI log 1、手机抓取HCI log 在开发者选项中打开启用蓝牙HCI信息收集日志开关,Android系统就开始自动地收…

计算机SCI论文选题和投稿需要注意什么? - 易智编译EaseEditing

科研创新与选题 科研创新是至关重要的,往往关系到论文是否顺利发表。 摆在我们面前的,往往是别人挑剩下的资料,似乎毫无写作价值,很多人便知难而退,干脆不写论文了。 其实,应该问问自已“我有什么&#xf…

Flask应用的基本组成部分、模板引擎Jinja2的使用、Flask-WTF、SQLAlchemy

目录标题1. Flask应用的基本组成部分1.1 路由(Routing)1.2 视图函数(View Function)1.3 请求(Request)1.4 响应(Response)2. 模板引擎Jinja2的使用2.1 入门案例2.2 条件判断2.3 循环…

Python采集m3u8格式做个小姐姐动态壁纸~

人生苦短,我用python 首先,我和大家一样喜欢看小姐姐~ 其次,看美丽的事物会让人更加有动力去… 我编不下去了哈哈哈,我就是爱看充满美感的人儿~ 更多python好看的:点击此处跳转文末名片获取 环境 Pythonpycharm 模块使用 第…

使用virtualenv和pip构建项目所需的独立Python环境

1、为什么需要独立的Python环境?在讲技术前,想先讲讲目的。为什么我们需要独立的Python环境?这里就借用virtualenv的文档来解释吧。virtualenv is a tool to create isolated Python environments.The basic problem being addressed is one …

51-Jenkins-Periodic Backup插件实现Jenkins备份

Periodic Backup插件实现Jenkins备份前言目录结构插件备份安装插件使用插件前言 本篇来学习下使用Periodic Backup插件实现Jenkins备份 目录结构 Jenkins的所有数据都是存放在文件中的,所以,Jenins备份其实就是备份Jenkins_HOME目录。 Jenkins_Home目…

taobao.user.buyer.get( 查询买家信息API )

¥开放平台基础API必须用户授权 查询买家信息API,只能买家类应用调用。 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 响应参数 点击获取key和secret 请求示例 TaobaoClient client new…

现在00后都是这么卷了吗?

现在的00后小年轻真的卷得过分了。前段时间我们公司来了个00年的,工作没两年,跳槽到我们公司起薪20K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。 最近和他聊了一次天,原来这位小老弟家…

我应该把毕业设计做到什么程度才能过关?

本篇博客包含了狗哥多年职业生涯对于软件项目的一丢丢理解,也讲述了对于大学生毕业设计的一些理解。如果你还是懵懵懂懂就要离开学校了,被老师告知不得不做出一套毕业设计的时候,希望你可以看到这篇博客,让你有点头绪,…