Matlab JPEG toolbox 详解,信号处理福音

网上找了N久,jpeg toolbox 要么是没资源,要么是解释不清楚,根本运行不起来。

先上代码地址:https://github.com/harbourzhang99/JPEG_Toolbox_Matlab

如果帮助到了你,还请点个star~

Matlab的jpeg toolbox 是对JPEG图像处理的神器,其中包含以下这些函数:

# 对图像进行dct变换
bdct.m
# 得到dct变换矩阵
bdctmtx.m
# 逆量化dct量化系数
dequantize.m
# 逆dct量化
ibdct.m
# 将图像转成向量,方便进行处理
im2vec.m
# 得到某个质量因子的量化表
jpeg_qtable.m
# 解码jpeg的c函数
jpeg_read.c
jpeg_read.dll
# 读取jpeg的m函数,但是基本不用这个
jpeg_read.m
# 存储jpeg的c函数
jpeg_write.c
jpeg_write.dll
# 存储jpeg的m函数,但是基本不用这个
jpeg_write.m
# 得到dct量化系数的函数
quantize.m
# 将向量重新转化为图像的函数
vec2im.m

下面上一个快速上手的matlab代码:


% 清空工作区 clear the workspace
clear;clc;% 将文件夹添加到工作路径  add work path
addpath('.\jpegtbx_1.4');img = imread('lena512.jpg');
% 读取您的JPEG图像   decode your JPEG image
% jobj就是该jpeg图像的结构体   jobj is this JPEG image structure
jobj = jpeg_read('lena512.jpg'); % 读取量化系数
DCT = jobj.coef_arrays{1}; % DCT plane% 得到一个8*8划分的dct系数矩阵
dct_coef = bdct(img,8);% 得到一个8*8的dct矩阵
mat8 = bdctmtx(8);% 得到一个量化系数为50的量化表
table = jpeg_qtable(50);% 写入JPEG图像
jobj.coef_arrays{1} = DCT;% 编码形式
jobj.optimize_coding = 1;% 其中jobj是图像的结构体
jpeg_write(jobj,'W.jpg');

有不清楚的可以留言问我~

关于图像的DCT变换相关的知识,可以戳这个:DCT变换信息隐藏

【最全的】JPEG Toolbox代码及使用方式详解相关推荐

  1. python怎么设置代码执行时间_python 代码运行时间获取方式详解

    我们知道为了提高代码的运行速度,我们需要对书写的python代码进行性能测试,而代码性能的高低的直接反馈是电脑运行代码所需要的时间.这里将介绍四种常用的测试代码运行速度的方法. 第一种:使用time模 ...

  2. 消除冗长Java代码的工具——Lombok详解

    消除冗长Java代码的工具--Lombok详解 文章目录 消除冗长Java代码的工具--Lombok详解 什么是Lombok Lombok的作用 Lombok常用注解 Lombok安装 什么是Lomb ...

  3. 史上最全“Git插件+码云+分支” 使用步骤详解

    版本控制也就那么回事!!! 史上最全"Git插件+码云+分支" 使用步骤详解 1.准备Git: 1.1 下载Git到本地: 首先在华为镜像云里面搜索"Git-For-Wi ...

  4. vc读取北通手柄按键_噬血代码手柄怎么操作 噬血代码北通手柄按键功能详解-游侠网...

    噬血代码手柄怎么操作?应该很多朋友都还不是很清楚吧,所以呢小编今天给大家带来的就是噬血代码北通手柄按键功能详解,需要的朋友不妨进来看看. 北通手柄按键功能详解 游戏介绍 本作是由<噬神者> ...

  5. DL之YoloV3:Yolo V3算法的简介(论文介绍)、各种DL框架代码复现、架构详解、案例应用等配图集合之详细攻略

    DL之YoloV3:Yolo V3算法的简介(论文介绍).各种DL框架代码复现.架构详解.案例应用等配图集合之详细攻略 目录 Yolo V3算法的简介(论文介绍) 0.YoloV3实验结果 1.Yol ...

  6. java构造块_java中的静态代码块、构造代码块、构造方法详解

    运行下面这段代码,观察其结果: package com.test; public class HelloB extends HelloA { public HelloB() { } { System. ...

  7. python代码覆盖率测试_unittest+coverage单元测试代码覆盖操作实例详解_python

    这篇文章主要为大家详细介绍了unittest+coverage单元测试代码覆盖操作的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 基于上一篇文章,这篇文章是关于使用coverage来实现代码 ...

  8. php获取数据3中方式,PHP面向对象之3种数据访问方式详解(代码实例)

    PHP面向对象之3种数据访问方式详解(代码实例) 本文目标 掌握PHP中数据访问的3种方式的定义和作用 1.public 2.protected 3.private (一).数据访问的3种方式 1.P ...

  9. 让别人远程访问你的代码网站项目或临时演示你的项目给客户的方式详解即外网局域网访问自己的项目

    让别人远程访问你的代码网站项目或临时演示你的项目给客户的方式详解 文章目录 让别人远程访问你的代码网站项目或临时演示你的项目给客户的方式详解 引言 一.创建一个你想要别人访问的项目 二.明确你想要将这 ...

最新文章

  1. LeetCode 595 Big Countries: SQL的题
  2. 十分钟掌握pyecharts十类顶级图,都很实用!
  3. php++mpdf.mpdf,使用php第三方包mpdf将网页装换成pdf文件【2】
  4. Revit二次开发示例:HelloRevit
  5. 灰度资产管理总规模升至429亿美元
  6. FR-TO-FR本地交换
  7. gin框架-2-返回是html格式的网页数据
  8. 浏览器-09 javascript引擎和Chromium网络栈
  9. 等级保护三级和二级有什么区别?
  10. 感冒喝咖啡_早上喝咖啡时学习EmotionJS-就是这么简单。
  11. CSS3阴影 box-shadow的使用和技巧总结
  12. 游戏2:HTML5制作网页游戏看看你有多色--createjs
  13. [译]R语言——Shiny框架之入门(一):Shiny应用的基本构成
  14. vue开发规范(单文件组件)
  15. ICLR 2022 | 颠覆传统!大规模图像检索系统首次引入「热刷新」模型升级!腾讯清华大学新作...
  16. [零刻]EQ12EQ12Pro安装OpenWRT软路由教程
  17. android照片涂抹功能,android:照片涂画功能实现过程及原理详解
  18. Ajax异步请求方法(详细)
  19. 差商matlab编程,Matlab数值计算差商与插值
  20. Android应用程序(APK)的编译打包过程

热门文章

  1. 隔空操作鼠标——基于人工智能的鼠标控制器
  2. 一. 安装工具 - Crow
  3. 解决电脑能上QQ,却打不开网页的问题
  4. 局域网限速软件_局域网IP限速怎么配置,限速多少比较合适
  5. 一分钟玩转Stable Diffusion
  6. 判断一个字符串是否是一个有效的罗马数字
  7. 比较出名的几个树莓派论坛
  8. Python 视频格式转MP3等音频格式,以及图片大小转换
  9. 08年朗讯(青岛)笔试题
  10. 学计算机是否加速掉发,你的电脑是否经常发生卡顿?让程序员来教你几个提速妙招...