首页 > 其他分享 >关于jpeg图像文件的二进制结构

关于jpeg图像文件的二进制结构

时间:2024-10-20 20:50:51浏览次数:5  
标签:02 03 01 字节 二进制 jpeg 组件 SOF0 图像文件

https://blog.csdn.net/sinat_26472165/article/details/85342766

JEPG的SOF0图像基本信息-帧结构
FFC0-SOF0-图像基本信息
image

同样的,0011指示了SOF0块长度为17个字节。

前8个字节分别为:
字节数 示例中的值 示例中的含义
2 0011 SOF0块长度为17个字节
1 08 每个像素的每个颜色分量为8位
2 02 0d 图片高度为525(直接换算成十进制)
2 02 5a 图片宽度602(直接换算成十进制)
1 03 组件数量为3

JPEG一般采用yCrCb格式,因此最后的组件数量通常为3(每个组件就是像素的一个颜色分量)

y指的是亮度;Cr指的是红色分量;Cb指的是蓝色分量。

每个组件包含三个字节:
1 01 | 02 | 03 01=Y;02=Cb;03=Cr;04=I;05=Q
1 22 | 11 | 11 03位=竖直采样系数;47位=水平采样系数
1 00 | 01 | 01 量化表号

第一个字节指示这个组件是什么,除了之前说的y、Cr、Cb以外,还有I和Q。

I和Q是YIQ色彩空间中使用的,y是亮度,I代表In-phase,色彩从橙色到青色,Q代表Quadrature-phase,色彩从紫色到黄绿。

————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/sinat_26472165/article/details/85342766

标签:02,03,01,字节,二进制,jpeg,组件,SOF0,图像文件
From: https://www.cnblogs.com/vstral/p/18487855

相关文章

  • base64编码图片二进制数据后直接保存在html文件中
    相关内容:在markdown编辑器中嵌入base64图片看到一个帖子,那就是base64编码用来http服务中对二进制文件编码,那么可以不可以直接在html文件中使用base64编码后的字符串来表示图片呢,于是就有了本文的尝试。注意,这里使用的是markdown格式的图片插入链接格式,即\(![图片文字描述](图......
  • 【MySQL】设置二进制日志文件自动过期,从根源上解决占满磁盘的问题:通过修改 binlog_exp
    引言MySQL的二进制日志(binlog)文件记录了数据库中所有更改的详细信息,包括但不限于对数据的插入、删除、更新,对表和数据库的创建、更改、删除等操作。每一次这样的操作都会在二进制日志中生成一个新的日志事件,并被写入到一个新的二进制日志文件中。因此,如果数据库的活动量较......
  • 二进制安装 Docker 以及 Docker Compose
    Author:ACatSmilingSince:2024-10-12Docker安装官网下载安装包。(以下示例脚本为下载最新版Docker离线压缩包,也可以用浏览器打开官网地址直接下载再传到服务器。如果使用该脚本,下面的第2、3步可以不执行。)#!/bin/bashset-u#docker官网下载地址url='https://d......
  • 3191. 使二进制数组全部等于 1 的最少操作次数 I
    给你一个二进制数组nums。你可以对数组执行以下操作任意次(也可以0次):选择数组中任意连续3个元素,并将它们全部反转。反转一个元素指的是将它的值从0变1,或者从1变0。请你返回将nums中所有元素变为1的最少操作次数。如果无法全部变成1,返回-1。示例......
  • 二进制凑数+路线规划构造题
    妙啊妙啊https://ac.nowcoder.com/acm/contest/92687/K#include<bits/stdc++.h>#defineendl'\n'#definelowbit(x)(x&-x)usingnamespacestd;constdoublepi=acos(-1);intpre[30];voidsolve(){intn;cin>>n;vector<int>......
  • C语言实现将一个输入的十进制数转换为二进制输出
    一、意义  由于计算机是由一系列电子元件组成的,这些元件只能处理两种状态:开和关。这两种状态可以用二进制表示,其中0代表关闭状态,1代表开启状态。因此,计算机只能存储和处理二进制数。二、原理方法除二取余法是一种将十进制数转换为二进制数的方法。其原理如下:将待转换的......
  • 2024-10-13:用go语言,给定一个二进制数组 nums,长度为 n, 目标是让 Alice 通过最少的行动
    2024-10-13:用go语言,给定一个二进制数组nums,长度为n,目标是让Alice通过最少的行动次数从nums中拾取k个1。Alice可以选择任何索引aliceIndex,如果对应的nums[aliceIndex]是1,Alice会拾取一个1并将其设为0。之后,Alice可以选择以下两种行动之一:将一个0变为1(最多执行maxCh......
  • javascript学习——二进制位运算符
    二进制位运算符概述二进制位运算符用于直接对二进制位进行计算,一共有7个。二进制或运算符(or):符号为|,表示若两个二进制位都为0,则结果为0,否则为1。二进制与运算符(and):符号为&,表示若两个二进制位都为1,则结果为1,否则为0。二进制否运算符(not):符号为~,表示对一个二进制位取反。异或......
  • 为什么5个字符至少需要3位二进制数表示?
    目录1.二进制编码基础2.5个字符的二进制表示3.编码理论的应用4.数据压缩与二进制编码5.软件工程中的编码实践6.结论        在软件工程和计算机科学的许多领域,有效的数据表示是一项基础且关键的任务。二进制编码是其中一种核心方法,它影响着数据存储、传......
  • 二进制枚举
    实现\(N*(2^N)\)的暴力枚举核心代码:intn;for(inti=0;i<(1<<n);i++){for(intj=0;j<i;j++){if(i&(1<<j))//可以枚举2^n的所有情况else//如果有两种枚举(比如起点到终点、终点到起点)}}例题:https://atcoder.jp/contests/abc374/tasks/abc374_d\(O(N!*2^N......