Chapter07_图像压缩编码

news2025/5/13 17:06:23

文章目录

  • 图像压缩编码
  • 图像压缩编码基础
    • 图像压缩的基本概念
      • 信息相关
      • 信息冗余
      • 信源编码及其分类
    • 图像编码模型
      • 信源编码器模型
      • 信源解码器模型
    • 数字图像的信息熵
      • 信源符号码字平均长度
      • 信息熵
      • 信息量
  • 变长编码
    • 费诺码
    • 霍夫曼编码
  • 位平面编码
    • 格雷码

图像压缩编码

数字图像的压缩是指在满足一定的图像质量要求条件(比如保真度评分或信噪比值)下,通过寻求图像数据的更有效地表征形式,以便用最少的比特数表示图像或表示图像中所包含信息的技术

图像压缩编码基础

图像压缩的基本概念

信息相关

在绝大多数图像的像素之间, 各像素行和帧之间存在着较强的相关性
从统计观点出发,就是每个像素的灰度值(或颜色值)总是和其周围的其它像素的灰度值(或颜色值)存在某种关系,应用某种编码方法减少这些相关性就可实现图像压缩

【引例】

在这里插入图片描述

上图的黑白像素序列共41位
新的编码只需21位:1,0101,1111,0111,1011,0011

由此可见,利用图像中各像素之间存在的信息相关,可实现图像编码信息的压缩

信息冗余

从信息论的角度来看, 压缩就是去掉信息中的冗余。即保留确定信息,去掉可推知的确定信息,用一种更接近信息本质的描述来代替原有的冗余描述

图像数据存在的冗余可分为三类:
① 编码冗余;② 像素间的冗余;③ 心里视觉冗余

  • 编码冗余

    由于大多数图像的直方图不是均匀(水平)的,所以图像中某个或某些灰度级会比其它灰度级具有更大的出现概率,如果对出现概率大和出现概率小的灰度级都分配相同的比特数,必定会产生编码冗余,即如果一个图像的灰度级编码,使用了多于实际需要的编码符号,就称该图像包含了编码冗余

    【例】

    在这里插入图片描述

  • 像素间的冗余

    所谓“像素间的冗余”,是指单个像素携带的信息相对较少,单一像素对于一幅图像的多数视觉贡献是多余的, 它的值可以通过与其相邻的像素的值来推断

    【例】

    在这里插入图片描述

  • 心里视觉冗余

    心里视觉冗余是指,在正常的视觉处理过程中那些不十分重要的信息,即一些信息在一般的视觉处理中,比其他信息的相对重要程度要小,这种信息就被称为视觉心理冗余

信源编码及其分类

  • 信源编码的概念:图像压缩的目标是在满足一定的图像质量的条件下,用尽可能少的比特数来表示原图像,以减少图像的存储容量和提高图像的传输效率,在信息论中,把这种通过减少冗余数据来实现数据压缩的过程称为信源编码
  • 信源编码的分类:无失真编码有失真编码
    • 无失真压缩也称为无损压缩,是一种在不引入任何失真的条件下使表示图像的数据比特率为最小的压缩方法
    • 有失真压缩也称为有损压缩,是一种在一定比特率下获得最佳保真度,或在给定的保真度下获得最小比特率的压缩方法

图像编码模型

在这里插入图片描述

  • 信道编码器和信道解码器是一种用来实现抗干扰、抗噪声的可靠数字通信技术措施,信道编码器是通过向信源编码数据中插入可控制的冗余数据来减少对信道噪声的影响的
  • 信源编码器的作用就是减少或消除输入图像中的编码冗余

信源编码器模型

在这里插入图片描述

  • 映射变换器(减少像素冗余)

    映射变换器将输入的图像数据转换为可以减少输入图像中像素间冗余的表示格式,其输出是比原始图像数据更适合于高效压缩的图像表示形式

    典型的映射变换包括:线性预测变换、酉变换、多分辨率变换等

  • 量化器

    量化器用于对映射变换后的变换系数进行量化,以便产生表示被压缩图像的有限数量的符号

    利用量化器对映射变换后的变换系数进行量化会导致部分信息的损失

  • 符号编码器

    符号编码器的作用是对量化器输出的每一个符号分配一个码字或二进制比特流

    在这里插入图片描述

    输入 X 称为信源符号集,集合中的每一个元素 x i x_i xi称为信源符号
    输出W 称为代码,集合中的每一个元素 w i w_i wi 称为码字
    A 称为码元集,集合中的每一个元素 a j a_j aj 称为码元

信源解码器模型

在这里插入图片描述

数字图像的信息熵

信源符号码字平均长度

设有信源符号集 X = { x 1 , x 2 , … , x n } X=\{ x_1,x_2 ,…,x_n \} X={x1,x2,,xn},信源符号出现的概率为 { P ( x 1 ) , P ( x 2 ) , … , P ( x n ) } \{P(x_1),P(x_2),…,P(x_n)\} {P(x1),P(x2)P(xn)} ,对 X 编码得到的代码为 W = { w 1 , w 2 , … , w n } W=\{w_1,w_2,…,w_n\} W={w1,w2,wn},其中每个码字 w i w_i wi 的比特数(长度)为 L ( x i ) L(x_i) L(xi)
则表示每个信源符号码字的平均长度(比特数)为:
L ‾ = ∑ i = 1 n P ( x i ) ⋅ l ( x i ) \overline{L}=\displaystyle\sum^n_{i=1}P(x_i)·l(x_i) L=i=1nP(xi)l(xi)

信息熵

信息熵是一个系统信息含量的量化指标,通常用来作为系统优化的目标或者参数选择的判据

信源的熵定义为 H ( X ) = ∑ i = 1 n P ( x i ) ⋅ l o g 2 P ( x i ) H(X)=\displaystyle\sum^n_{i=1}P(x_i)·log_2P(x_i) H(X)=i=1nP(xi)log2P(xi) ,熵的单位是b/s,表示每个符号的比特数

【例1】设有一个随机变量 X 有8 种可能的状态 x i ( i = 1 , 2 , . . . , 8 ) x_i(i=1,2,...,8) xi(i=1,2,...,8) ,每个状态都是等可能的,则该随机变量的熵为:
H ( X ) = ∑ i = 1 8 1 8 ⋅ l o g 2 1 8 = − 8 × 1 8 l o g 2 1 8 = 3 b i t s H(X)=\displaystyle\sum^8_{i=1}\frac{1}{8}·log_2\frac{1}{8} =-8×\frac{1}{8}log_2\frac{1}{8}=3bits H(X)=i=1881log281=8×81log281=3bits
也就是说,为了把 X 的值传递给接收者,需要传输一个 3 比特的消息

【例2】设有一个随机变量X 有8 种可能的状态 { a , b , c , d , e , f , g , h } \{a,b,c,d,e,f,g,h\} {a,b,c,d,e,f,g,h},每个状态各自的概率为 { 1 2 , 1 4 , 1 8 , 1 16 , 1 64 , 1 64 , 1 64 , 1 64 } \{\frac{1}{2},\frac{1}{4},\frac{1}{8},\frac{1}{16},\frac{1}{64},\frac{1}{64},\frac{1}{64},\frac{1}{64}\} {21,41,81,161,641,641,641,641} ,这种情况下该随机变量的熵为:
H ( X ) = − 1 2 l o g 2 1 2 − 1 4 l o g 2 1 4 − 1 8 l o g 2 1 8 − 1 16 l o g 2 1 16 − 4 × 1 64 l o g 2 1 64 } = 2 b i t s H(X)=-\frac{1}{2}log_2\frac{1}{2} -\frac{1}{4}log_2\frac{1}{4} -\frac{1}{8}log_2\frac{1}{8} -\frac{1}{16}log_2\frac{1}{16} -4×\frac{1}{64}log_2\frac{1}{64} \}=2bits H(X)=21log22141log24181log281161log21614×641log2641}=2bits
也就是说,随机变量非均匀分布时的熵,要比随机变量均匀分布时的熵小

信源符号码字的平均长度就与随机变量的熵相等,熵是编码所需比特数的下限

信息量

信息量是指从N个相等的可能事件中选出一个事件所需的信息度量或含量。假设 N 的大小为 2 的整次幂(比如 N = 2 n N=2^n N=2n ),则信息量可表示为:
I ( x ) = l o g 2 N = − l o g 2 1 N = − l o g 2 P ( x ) I(x)=log_2N=-log_2\frac{1}{N}=-log_2P(x) I(x)=log2N=log2N1=log2P(x)
每个信源符号的信息量实质上反映的是该信源符号的编码长度

变长编码

费诺码

费诺编码方法认为:在数字形式的码字中的 0 和 1 是相互独立的,因而其出现的概率也应是相等的(为0.5或接近 0.5),这样就可确保传输的每一位码含有 1 比特的信息量

假设输入的离散信源符号集为 X = { x 0 , x 1 , … , x n } X=\{x_0,x_1,…,x_n\} X={x0,x1,,xn},其出现概率为 P ( x i ) P(x_i) P(xi),欲求的费诺码为 W = { w 0 , w 1 , … , w n } W=\{w_0,w_1,…,w_n\} W={w0,w1,,wn},则费诺码编码方法的步骤为:

  1. 把输入的信源符号和其出现的概率按概率值的非递增顺序从上到下依次并列排列
  2. 按概率之和相等或相近的原则把 X 分成两组,并给上面或概率之和较大的组赋值 1,给下面或概率之和较小的组赋值 0
  3. 再按概率之和相等或相近的原则把现有的组分成两组,并给上面或概率之和较大的组赋值 1,给下面或概率之和较小的组赋值 0
  4. 重复 3 的分组和赋值过程,直至每个组只有一个符号为止
  5. 把对每个符号所赋的值依次排列,就可得到信源符号集 X 的费诺码

【例】设有信源符号集 X = { x 1 , x 2 , … , x 8 } X=\{x_1,x_2,…,x_8\} X={x1,x2,,x8},其概率分布为 P ( x 1 ) = 0.25 P(x_1)=0.25 P(x1)=0.25 P ( x 2 ) = 0.125 P(x_2)=0.125 P(x2)=0.125 P ( x 3 ) = 0.0625 P(x_3)=0.0625 P(x3)=0.0625 P ( x 4 ) = 0.25 P(x_4)=0.25 P(x4)=0.25 P ( x 5 ) = 0.0625 P(x_5)=0.0625 P(x5)=0.0625 P ( x 6 ) = 0.125 P(x_6)=0.125 P(x6)=0.125 P ( x 7 ) = 0.0625 P(x_7)=0.0625 P(x7)=0.0625 P ( x 8 ) = 0.0625 P(x_8)=0.0625 P(x8)=0.0625,求其费诺码 W = { w 1 , w 2 , w 3 , w 4 , w 5 , w 6 , w 7 , w 8 } W=\{w_1,w_2,w_3,w_4,w_5,w_6,w_7,w_8\} W={w1,w2,w3,w4,w5,w6,w7,w8}

【解】由题意可得:
P ( x 1 ) = 0.25 = 1 4 P(x_1)=0.25=\frac{1}{4} P(x1)=0.25=41 P ( x 2 ) = 0.125 = 1 8 P(x_2)=0.125=\frac{1}{8} P(x2)=0.125=81
P ( x 3 ) = 0.0625 = 1 16 P(x_3)=0.0625=\frac{1}{16} P(x3)=0.0625=161 P ( x 4 ) = 0.25 = 1 4 P(x_4)=0.25=\frac{1}{4} P(x4)=0.25=41
P ( x 7 ) = 0.0625 = 1 16 P(x_7)=0.0625=\frac{1}{16} P(x7)=0.0625=161 P ( x 6 ) = 0.125 = 1 8 P(x_6)=0.125=\frac{1}{8} P(x6)=0.125=81
P ( x 7 ) = 0.0625 = 1 16 P(x_7)=0.0625=\frac{1}{16} P(x7)=0.0625=161 P ( x 8 ) = 0.0625 = 1 16 P(x_8)=0.0625=\frac{1}{16} P(x8)=0.0625=161

在这里插入图片描述

平均码字长度:
L ‾ = = ∑ i = 1 8 P ( x i ) ⋅ l ( x i ) = 1 4 × 2 + 1 4 × 2 + 1 8 × 3 + 1 8 × 3 + 1 16 × 4 + 1 16 × 4 + 1 16 × 4 + 1 16 × 4 = 11 4 ( b i t ) \begin{align} \overline{L} & = =\displaystyle\sum^8_{i=1}P(x_i)·l(x_i) \\ & = \frac{1}{4}×2+\frac{1}{4}×2+\frac{1}{8}×3+\frac{1}{8}×3+\frac{1}{16}×4+\frac{1}{16}×4+\frac{1}{16}×4+\frac{1}{16}×4 \\ & = \frac{11}{4} (bit) \end{align} L==i=18P(xi)l(xi)=41×2+41×2+81×3+81×3+161×4+161×4+161×4+161×4=411(bit)

霍夫曼编码

假设输入的离散信源符号集为 X = { x 0 , x 1 , … , x n } X=\{x_0,x_1,…,x_n\} X={x0,x1,,xn},其出现概率为 P ( x i ) P(x_i) P(xi),欲求的费诺码为 W = { w 0 , w 1 , … , w n } W=\{w_0,w_1,…,w_n\} W={w0,w1,,wn},则霍夫曼编码方法的步骤为:

  1. 统计信源(比如一幅图像)中的信源符号及每个信源符号出现的概率
    设经统计有 n 个信源符号 x i x_i xi(i=0, …,n),其出现概率为 P ( x i ) P(x_i) P(xi)
  2. 把把信源符号 x i x_i xi 和其概率 P ( x i ) P(x_i) P(xi) ,依序按概率值的递减顺序从上到下依次排列
  3. 把最末两个具有最小概率值的信源符号的概率值合并相加得到新的概率值
  4. 给最末两个具有最小概率值的信源符号的上面的信源符号编码“0”,给下面的信源符号编码“1”
  5. 如果最末两个信源符号的概率值合并相加后为 1.0,则转 7;否则继续下一步
  6. 把合并相加得到的新概率值与其余概率值按递减顺序从上到下依次排列,并转 3
  7. 寻找每一个信源符号到概率为 1.0 处的路径,并依次记录路径上的 “1” 和 “0” ,即可得到每个信源符号对应的二进制符号序列
  8. 逆序逐位地写出每个信源符号对应的二进制符号序列,即可得到每个信源符号的霍夫曼编码

【例】设有信源符号集 X = { x 1 , x 2 , … , x 6 } X=\{x_1,x_2,…,x_6\} X={x1,x2,,x6},其概率分布为 P ( x 1 ) = 0.1 P(x_1)=0.1 P(x1)=0.1 P ( x 2 ) = 0.3 P(x_2)=0.3 P(x2)=0.3 P ( x 3 ) = 0.1 P(x_3)=0.1 P(x3)=0.1 P ( x 4 ) = 0.4 P(x_4)=0.4 P(x4)=0.4 P ( x 5 ) = 0.04 P(x_5)=0.04 P(x5)=0.04 P ( x 6 ) = 0.06 P(x_6)=0.06 P(x6)=0.06,求其霍夫曼码 W = { w 1 , w 2 , w 3 , w 4 , w 5 , w 6 } W=\{w_1,w_2,w_3,w_4,w_5,w_6\} W={w1,w2,w3,w4,w5,w6}

在这里插入图片描述

依据步骤 7 ,可得信源符号及其对应的二进制符号序列为:
{ x 1 , x 2 , x 3 , x 4 , x 5 , x 6 } \{x_1,x_2,x_3,x_4,x_5,x_6\} {x1,x2,x3,x4,x5,x6} ➡️ {110,00,0010,1,11010,01010}

根据步骤 8 ,将上述二进制符号序列逆序排列,即可得到霍夫曼编码为:
{011,00,0100,1,01011,01010}

平均码字长度:
L ‾ = ∑ i = 1 6 P ( x i ) ⋅ l ( x i ) = 0.1 × 3 + 0.3 × 2 + 0.1 × 4 + 0.4 × 1 + 0.04 × 5 + 0.06 × 5 = 2.2 ( b i t ) \begin{align} \overline{L} & =\displaystyle\sum^6_{i=1}P(x_i)·l(x_i) \\ & = 0.1×3+0.3×2+0.1×4+0.4×1+0.04×5+0.06×5 \\ & = 2.2 (bit) \end{align} L=i=16P(xi)l(xi)=0.1×3+0.3×2+0.1×4+0.4×1+0.04×5+0.06×5=2.2(bit)
霍夫曼编码的优点

  • 当对独立信源符号进行编码时,霍夫曼编码可对每个信源符号产生可能是最少数量(最短)码元的码字
  • 霍夫曼编码是所有变长编码中平均码长最短的。如果所有信源符号的概率都是2的指数,霍夫曼编码的平均长度将达到最低限,即信源的熵
  • 对于二进制的霍夫曼编码,平均码字的平均长度满足关系: H < L ‾ < H + 1 H<\overline{L}<H+1 H<L<H+1

位平面编码

所谓位平面编码,就是将一幅灰度图像或彩色图像分解为多幅二值图像,然后对二值图像应用二值图像编码方法,以达到对多值图像编码的目的

位平面分解:对于一幅 N×N 的灰度图像,若每个像素用 m 位表示,就可以从每个像素的二进制表示中取出相同位置上的一位,这样就形成了一幅 N×N 的二值图像,称该二值图像为原灰度图像的一个位平面

【举例】对于一幅 256 灰度级的图像来说,每个像素用一个 8 位的字节表示,该图像就可以分解成 8 个位平面,平面 0 由原图像中像素的最低位组成,平面 1 由原图像中像素的此低位组成,… ,平面 7 由原图像中像素的最高位组成

在这里插入图片描述

在这里插入图片描述

格雷码

多数图像中的大多数相邻像素值具有渐变的特征,但若采用二进制码进行位平面分解,就会导致各位平面中相关性的减小
比如:若灰度图像中的两个相邻像素是127和128,它们显然比较接近,但其二进制编码却分别为:0 1 1 1 1 1 1 1 和 1 0 0 0 0 0 0 0
灰度图像中相邻像素间的很小变化,却引起了所有位平面值的突变,从而降低了位平面图像的相关性,也即降低了位平面图像的压缩效率

由于两个相邻值的格雷码之间只有一位是不同的,这样就可保持相邻像素间较强的相关性,所以一般采用格雷码(Gray)进行位平面分解编码
格雷码进行位平面分解编码的思想:如果用一个 m 位的灰度编码 g m − 1 … g 2 g 1 g 0 g_{m-1}…g_2g_1g_0 gm1g2g1g0 表示图像,那么图像中这个 m 位的灰度编码 g m − 1 … g 2 g 1 g 0 g_{m-1}…g_2g_1g_0 gm1g2g1g0 的所有 g i g_i gi 就组成了第 i 个位平面二值图像

在这里插入图片描述

【举例】

在这里插入图片描述

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

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

相关文章

团体设计程序天梯赛L2-025 # 分而治之

文章目录 题目解读输入格式输出格式 思路Ac Code参考 题目解读 在战争中&#xff0c;我们希望首先攻下敌方的部分城市&#xff0c;使其剩余的城市变成孤立无援&#xff0c;然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序&#xff0c;判断每个方案的可…

Linux网络套接字

Socket 编程 UDP 本章将函数介绍和代码编写实战一起使用。 IPv4 的 socket 网络编程,sockaddr_in 中的成员 struct in_addr.sin_addr 表示 32 位 的 IP 地址 但是我们通常用点分十进制的字符串表示 IP 地址,以下函数可以在字符串表示和in_addr 表示之间转换; 字符串转 in_addr…

看爬山虎学本领 软爬机器人来创新 各种场景能适应

*本文只做阅读笔记分享* 一、灵感来源&#xff1a;向植物取经 大家好&#xff01;今天来聊一款超酷的软爬机器人&#xff0c;它的灵感来自会攀爬的植物——爬山虎。 大家都知道&#xff0c;爬墙高手爬山虎能在各种复杂墙面轻松生长攀爬&#xff0c;可现有的攀爬机器人在复杂…

极客天成NVFile:无缓存直击存储性能天花板,重新定义AI时代并行存储新范式

在AI算力需求呈指数级爆发的今天&#xff0c;存储系统正面临一场前所未有的范式革命。传统存储架构中复杂的缓存机制、冗余的数据路径、僵化的扩展能力&#xff0c;已成为制约千卡GPU集群算力释放的重要因素。极客天成NVFile并行文件存储系统以全栈并行化架构设计和无缓存直通数…

Java实现N皇后问题的双路径探索:递归回溯与迭代回溯算法详解

N皇后问题要求在NN的棋盘上放置N个皇后&#xff0c;使得她们无法互相攻击。本文提供递归和循环迭代两种解法&#xff0c;并通过图示解释核心逻辑。 一、算法核心思想 使用回溯法逐行放置皇后&#xff0c;通过冲突检测保证每行、每列、对角线上只有一个皇后。发现无效路径时回退…

谷歌开源单个 GPU 可运行的Gemma 3 模型,27B 超越 671B 参数的 DeepSeek

自从 DeepSeek 把训练成本打下来之后&#xff0c;各个模型厂家现在不再堆参数进行模型的能力对比。而是转向了训练成本优化方面&#xff0c;且还要保证模型能力不减反增的效果。包括使用较少的模型参数&#xff0c;降低 GPU 使用数量&#xff0c;降低模型内存占用等等技术手段。…

C++_类和对象(下)

【本节目标】 再谈构造函数Static成员友元内部类匿名对象拷贝对象时的一些编译器优化再次理解封装 1. 再谈构造函数 1.1 构造函数体赋值 在创建对象时&#xff0c;编译器通过调用构造函数&#xff0c;给对象中各个成员变量一个合适的初始值。 class Date { public:Date(in…

Docker设置代理

目录 前言创建代理文件重载守护进程并重启Docker检查代理验证 前言 拉取flowable/flowable-ui失败&#xff0c;用DaoCloud源也没拉下来&#xff0c;不知道是不是没同步。索性想用代理拉镜像。在此记录一下。 创建代理文件 创建docker代理配置 sudo mkdir -p /etc/systemd/s…

一键自动备份:数据安全的双重保障

随着数字化时代的到来&#xff0c;数据已成为企业和个人不可或缺的核心资产。在享受数据带来的便捷与高效的同时&#xff0c;数据丢失的风险也随之增加。因此&#xff0c;备份文件的重要性不言而喻。本文将深入探讨备份文件的重要性&#xff0c;并介绍两种实用的自动备份方法&a…

HeidiSQL:多数据库管理工具

HeidiSQL 是一款广受欢迎的免费开源数据库管理工具&#xff0c;专为数据库管理员及开发者设计。无论您是刚接触数据库领域的新手&#xff0c;还是需要同时处理多种数据库系统的专业开发者&#xff0c;该工具都能凭借其直观的界面和强大的功能&#xff0c;助您轻松完成数据管理任…

医药档案区块链系统

1. 医生用户模块​​ ​​目标用户​​&#xff1a;医护人员 ​​核心功能​​&#xff1a; ​​检索档案​​&#xff1a;通过关键词或筛选条件快速定位患者健康档案。​​请求授权​​&#xff1a;向个人用户发起档案访问权限申请&#xff0c;需经对方确认。​​查看档案​…

蓝桥云客--浓缩咖啡液

4.浓缩咖啡液【算法赛】 - 蓝桥云课 问题描述 蓝桥杯备赛选手小蓝最近刷题刷到犯困&#xff0c;决定靠咖啡续命。他手上有 N 种浓缩咖啡液&#xff0c;浓度分别是 A1​%, A2​%, …, AN​%&#xff0c;每种存货都是无限的。为了提神又不炸脑&#xff0c;小蓝需要按比例混合这…

SQLark(百灵连接):一款面向信创应用开发者的数据库开发和管理工具

SQLark&#xff08;百灵连接&#xff09;是一款面向信创应用开发者的数据库开发和管理工具&#xff0c;用于快速查询、创建和管理不同类型的数据库系统。 目前可以支持达梦数据库、Oracle 以及 MySQL。 SQL 智能编辑器 基于语法语义解析实现代码补全能力&#xff0c;为你提供…

计算机视觉——为什么 mAP 是目标检测的黄金标准

概述 在目标检测领域&#xff0c;有一个指标被广泛认为是衡量模型性能的“黄金标准”&#xff0c;它就是 mAP&#xff08;Mean Average Precision&#xff0c;平均精确率均值&#xff09;。如果你曾经接触过目标检测模型&#xff08;如 YOLO、Faster R-CNN 或 SSD&#xff09;…

Frame Of Reference压缩算法

文章目录 1_概述2_算法基本步骤3_过程优化4_优势以及局限5_模拟实现6_总结 1_概述 Frame of Reference&#xff08;FoR&#xff09;压缩算法 是一种用于压缩数值数据的算法&#xff0c;特别是在处理大规模数据集时&#xff0c;利用数据的局部性和重复性来减少存储和传输的开销…

esp32cam 开发板搭载ov3660摄像头在arduino中调用kimi进行图像识别

首先呢,最近搞一个项目,需要一个摄像头拍摄图片 就买了个ov3660开发板,用的esp32S芯片 淘宝商家给的教程是arduino的,所以先用arduino跑起来 arduino配置esp32-cam开发环境 - 简书1、安装arduino https://www.arduino.cc/en/Main/Software?setlang=cn 2、配置esp32 打开…

二十种中药果实识别分类系统,Python/resnet18/pytorch

二十种中药果实识别分类系统,Python/resnet18/pytorch 基于pytorch训练, resnet18网络&#xff0c;可用于训练其他分类问题&#xff0c;也可自己重新训练 20类中药材具体包括&#xff1a;(1) 补骨脂&#xff0c;(2) 草豆蔻&#xff0c;(3) 川楝子&#xff0c;(4) 地肤子&…

如何实现两个视频融合EasyCVR平台的数据同步?详细步骤指南

有用户咨询&#xff0c;现场需要数据库同步&#xff0c;如何将两个EasyCVR平台的数据进行同步呢&#xff1f; 这篇文章我们将详细介绍如何通过简单的接口调用&#xff0c;高效完成两个平台的数据同步操作。 1&#xff09;获取token 使用Postman调用登录接口&#xff0c;获取…

WindowsPE文件格式入门05.PE加载器LoadPE

https://bpsend.net/thread-316-1-1.html LoadPE - pe 加载器 壳的前身 如果想访问一个程序运行起来的内存,一种方法就是跨进程读写内存,但是跨进程读写内存需要来回调用api,不如直接访问地址来得方便,那么如果我们需要直接访问地址,该怎么做呢?.需要把dll注进程,注进去的代码…

使用Cusor 生成 Figma UI 设计稿

一、开发环境 系统&#xff1a;MacOS 软件版本&#xff1a; Figma&#xff08;网页或APP版&#xff09; 注&#xff1a;最好是app版&#xff0c;网页版figma 没有选项 import from manifest app下载地址&#xff1a;Figma Downloads | Web Design App for Desktops & …