一、什么是图象增强?

图像增强是要突出图像中的某些信息,同时削弱或去除某些不需要信息的一种处理方法,以得到对具体应用来说视觉效果 更“好”,或更“有用”的图像的技术.

二、为什么要增强图象?

图像在传输或者处理过程中会引入噪声或使图像变模糊,从而降低了图像质量,甚至淹没了特征,给分析带来了困难。

三、目的:

(1)改善图象的视觉效果,提高图像的清晰度;

(2)将图象转换成更适合于人眼观察和机器分析识别的形式,以便从图象中获取更有用的信息。

四、基本方法:

空间域处理:点处理(图象灰度变换、直方图均衡等);

邻域处理(线性、非线性平滑和锐化等);

频域处理  :高、低通滤波、同态滤波等

空间域增强是指增强构成图像的像素,可由下式定义:

              g(x,y)=T[f(x,y)] (3.1-1)

邻域和预定义的操作一起称为空间滤波器(掩模、核、模板)

定义一个点(x,y)邻域 的主要方法是:

①邻域:中心在(x,y)点的正方形或矩形子图像.

②子图像的中心从一个像素向另一个像素移动,

③T操作应用到每一个(x,y)位置得到该点的输出g.

   更大的邻域会有更多的灵活性,一般的方法是利用点(x,y)事先定义的邻域里的一个f值的函数来决定g在(x,y)的值,主要是利用所谓的模板(也称为滤波器,,掩模

模板是一个小的(3×3)二维阵列,模板的系数值决定了处理的性质,如图像尖锐化等.  以这种方法为基础的增强技术通常是指模板处理空域滤波.

灰度级变换函数

s = T(r)    (3.1.2)

三种基本类型

①线性的(正比或反比)

②对数的(对数和反对数的)

③幂次的(n次幂和n次方根变换)

  • 反转变换

适于处理增强嵌入于图像暗色区域的白色或灰色细节,特别是当黑色面积占主导地位时.

  • 对数变换

使一窄带低灰度输入图像映射为一宽带输出值;可以用于扩展图像中的暗像素.

  • 幂次变换

幂次曲线中的值决定了是把输入窄带 暗值映射到宽带输出值还是把输入窄带亮值映射到宽带输出.

幂次变换的应用(伽马校正)

  1. 为什么要进行γ校正?

       几乎所有的CRT显示设备、摄像胶片、许多电子照相机的光电转换特性都是非线性的。所以,如果不进行校正处理的话,将无法得到好的图像效果。

  1. 光电传感器的输入输出特性:这些非线性部件的输出与输入之间的关系可以用一个幂函数来表示,形式为:设CCD的输入(入射光强度)为r,输出(电压)为 v,则有:

                  

  • 分段线性变换函数

其形式可以任意组合,有些重要的变换可以应用分段线性函数描述.

1、对比拉伸 :扩展图像处理时灰度级的动态范围。

2、灰度切割:提高特定灰度范围的亮度

3、位图切割:把数字图像分解成为位平面,(每一个位平面可以处理为一幅二值图像)对于分析每一位在图像中的相对重要性是有用的。(高阶位如前4位包含视觉上很重要的大多数数据;其它位对图像中的更多微小细节有作用)

直方图反映了图像的清晰程度,当直方图均匀分布时,图像最清晰。由此,我们可以利用直方图来达到使图像清晰的目的。

直方图均衡化处理:

假设原图的灰度值变量为r,变换后新图的灰度值变量为s,我们希望寻找一个灰度变换函数T:s=T(r),

使得概率密度函数pr(r)变换成希望的概率密度函数ps(s)

灰度变换函数T(r)应该满足:

  • 直方图均衡化的缺陷:不能用于交互方式的图像增强应用,因为直方图均衡化只能产生唯一一个结果。
  • 恒定值直方图近似

希望通过一个指定的函数(如高斯函数)或用交互图形产生一个特定的直方图。根据这个直方图确定一个灰度级变换T(r),使由T产生的新图象的直方图符合指定的直方图。

333局部直方图处理

有时需要对图像小区域细节的局部增强.解决的办法就是在图像中每一个像素的邻域中,根据灰度级分布设计变换函数.然后利用前面介绍的技术来进行局部增强.

步骤:

①定义一个方形或矩形的区域(邻域),该区域的中心位置在某个像素点

②计算该邻域的直方图,利用前面介绍的技术来得到变换函数.

③使用该变换函数来映射该区域的中心象素的灰度;

  • 把该区域的中心从一个像素移动至另一像素.重复②~④

灰度均值:对平均灰度的一种度量;

灰度方差(标准差):对平均对比度的一种度量;

实际中:在处理均值和方差时,通常用取样值来估计它们。

  • 图像的平滑、锐化都是利用掩模操作来完成的。通过掩模操作实现一种邻域运算,待处理像素点的结果由邻域的图像像素以及相应的与邻域有相同维数的子图像得到。这些子图像被称为滤波器、掩模、核、模板或窗口;
  •  掩模运算的数学含义是卷积(或互相关)运算;
  • 掩模子图像中的值是系数值,而不是灰度值;

         一种非线性滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序结果决定的值代替中心像素的值.  最常见的是中值滤波器 。

中值滤波器:

  • 算法:先将掩模内欲求的像素及其领域的像素值排序(升序或降序),确定出中值,并将中值赋予该像素点.
  • 主要功能:使拥有不同灰度的点看起来更接近于它的邻近值。
  • 主要用途:去除“椒盐”噪声

锐化处理的目的:是突出图像中的细节或者增强被模糊了的细节.

锐化处理可以用空间微分来完成. 微分算子的响应强度与图像在该点的突变程度有关,图像微分增强了边缘和其他突变(如噪声)而消弱了灰度变化缓慢的区域.

我们最感兴趣的是微分算子在①恒定灰度区域(平坦段)、②突变的开头与结尾(阶梯与斜坡突变)以及③沿着灰度级斜坡处的特性。

对于一阶微分必须保证:

  1. 平坦段微分值为零
  2. 在灰度阶梯或斜坡的起点处微分值非零
  3. 沿着斜坡面微分值非零

对于二阶微分必须保证:

  1. 在平坦区微分值为零
  2. 在灰度阶梯或斜坡的起始点处微分值非零
  3. 沿着斜坡面微分值为零

一阶微分和二阶微分的区别:

(1)一阶微分处理通常会产生较宽的边缘

(2)二阶微分处理对细节有较强的响应,如细线和孤立点

(3)一阶微分处理一般对灰度阶梯有较强的响应

(4)二阶微分处理对灰度级阶梯变化产生双响应

(5)二阶微分在图像中灰度值变化相似时,对线的响应要比对阶梯强,且点比线强.

大多数应用中,对图像增强来说.二阶微分处理比一阶微分好,因为形成细节的能力强. 而一阶微分处理主要用于提取边缘.

    拉普拉斯微分算子强调图像中灰度的突变,弱化灰度慢变化的区域。这将产生一幅把浅灰色边线、突变点叠加到暗背景中的图像。

  • 1822年,傅里叶(Fourier)发表了“热传导解析理论”,提出了傅里叶变换。它本质上提出了一种与空间思维不同的频域思维方法。
  • 傅里叶变换能使我们从空间域(或时域)与频率域两个不同的角度来看待信号或图象的问题。
  • 有时在时域很难解决的问题,在频域却是显而易见。
  • 傅里叶变换是十九世纪数学界和工程界最辉煌的成果之一。它一直是信号处理领域中最完美、应用最广泛、效果最好的一种分析手段。它也是线性系统分析的有利工具。

傅里叶分析中最重要的结论就是几乎“所有”的函数(信号)都可以表示为(分解成)简单的(加权)正弦波和余弦波之和。从而提供了一种具有物理意义的函数表达方式。

频率域的基本性质

傅里叶变换每个频谱分量都要涉及到图像空间中的每个像素, 所以一般来说, 频谱信息中很难看出空间的信息。但由于频率反映的是空间强度的变化率, 如低频对应着图像变化慢的部分, 高频对应着图像变化快的部分。所以, 在某种意义上两者之间仍然有不可分割的联系, 尽管这些联系是“总体”的.

被低通滤波的图像比原始图像少了尖锐的细节部分而突出了平滑过渡部分

被高通滤波的图像比原始图像少了灰度级的平滑过渡而突出了边缘等细节部分

布特沃思低通滤波器

它的特性是连续性衰减,而不象理想滤波器那样陡峭变化,即明显的不连续性。因此采用该滤波器滤波在抑制噪声的同时,图像边缘的模糊程度大大减小,没有振铃效应产生

傅里叶变换的特点

  • 频率域直观, 可以很容易凭经验指定滤波器;
  • 较小的模板尺寸的M和N值, 频率域的计算会非常快;
  • 可以方便得出频率成分和图像外观的对应关系;
  • 空间域中很难表述、甚至不可能的增强任务, 在频率域会变得非常简单
  1. 离散傅里叶变换已成为数字信号处理的重要工具,然而,它的计算量大,运算时间长,在某种程度上却限制了它的使用范围。
  2. 快速算法大大提高了运算速度,在某些应用场合已能作实时处理,并且应用在控制系统中
  3. 快速傅里叶变换不是一种新的变换,它是离散傅里叶变换的一种算法,它是在分析离散傅里叶变换中的多余运算的基础上,进而消除这些重复工作的思想指导下得到的

快速傅里叶变换

一直是重要的研究课题.

先看看直接利用定义公式计算傅里叶变换的代价. 在一维情形, M个点的傅里叶变换(DFT)需要M2次乘法运算. 这个计算量在很多实际问题中是无法承受的.

快速傅里叶变换(FFT)的出现后, 把这个运算降低为Mlog2M. 正是由于FFT的发展, 才最终使得傅里叶变换成为信号处理的一种最基础的工具.例如, 当M=1024时, 未经优化的方法需要106次操作, 而快速算法只需要104, 100:1的优势. 当点数和维数增大时, 优势更加明显.

快速傅里叶变换的基本思想: FFT基于逐次倍乘法(Successive doubling method). 这个方法的主要思想是利用傅里叶变换(基底)的性质, 将2M个数据的傅里叶变换转化为2组M个数据的傅里叶变换. 这样, 原来4M2的运算量就降低为2M2的运算量了. 依次类推, 便可得到快速算法.

第四章  图象编码技术

◆数字图像的压缩是指在不同用途的图像质量要求下,用最少的比特数表示一幅图像的技术。

◆数字图像的压缩是实现图像存储和传输的基础。

数字图像压缩目的

节省图像存储容量;减少传输信道容量;缩短图像加工处理时间。

图像压缩原理

解码图像与原始图像相同,称编解码过程是无损的;解码图像也可以与原始图像不同,称编解码过程是有损的

1.  信息相关

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

2.  信息冗余

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

       图像数据存在的冗余可分为三类:

      (1)编码冗余;

(2)像素间的冗余;

(3)心里视觉冗余。

(1)编码冗余

由于大多数图像的直方图不是均匀(水平)的,所以图像中某个(或某些)灰度级会比其它灰度级具有更大的出现概率,如果对出现概率大和出现概率小的灰度级都分配相同的比特数,必定会产生编码冗余。

(2)像素间的冗余

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

(3)心里视觉冗余

    心里视觉冗余是指在正常的视觉处理过程中那些不十分重要的信息。

去除心理视觉冗余数据能导致定量信息的损失,称为量化

图像编码器和解码器模型

在编码器中,映射器通过将输入数据变换以减少像素相关冗余;量化器通过减少映射器输出的精确度来减少心理视觉冗余;符号编码器通过将最短的码赋给最频繁出现的量化器输出值以减少编码冗余

解码器进行符号编码和映射的逆操作(符号解码和反映射)。量化操作是不可反转的

如何评价图像编码中解码图像与原始图像偏离程度?

信息保持型编码

在压缩和解压缩过程中没有信息损失,最后得到的解码图像可以与原始图像一样

信息损失型编码

能取得较高的压缩率,但图像经过压缩后并不能通过解压缩完全恢复原状,这是由于在图像压缩中放弃了一些图像细节或其他不太重要的内容,导致了实实在在的信息损失

  • 客观保真度是一种统计平均意义下的度量准则,对于图像中的细节无法反映出来。
  • 人的视觉可能产生不同的视觉效果。
  • 主观质量评价方法:对一组(不少于20人)观察者显示图像,并将他们对该图像的评分取平均。

信息和信源描述

1、信息:事物运动状态或存在方式的不确定性的描述;

可用数学定量地描述

2、信源:信源符号集和符号概率描述

    信源的分类:
(1) 连续信源—离散信源—混合信源;(时间)
(2)无记忆信源—有记忆信源(相关信源)—有限长度记忆信源(Markov信源)(相关性)

哈夫曼编码

  • 1952年由Huffman提出的一种无损的编码方法。
  • 用变长的码使冗余量达到最小,用一棵二叉树来编码,使常出现的字符用较短的码表示,不常出现的字符用较长的码表示。
  • 它在变长编码方法中是最佳的。

具体编码的方法是:

  • (1) 把信源符号按其出现概率的大小顺序排列起来;
  • (2)  把最末两个具有最小概率的元素之概率加起来;
  • (3)  把该概率之和同其余概率由大到小排队,然后再把两个最小概率加起来,再重新排队;

(4)  重复(2)直到最后只剩下两个概率为止

缺点:

1、强烈依赖于概率结构,工作量大。

2、码字变化大,结构复杂,实现困难

  1. 哈夫曼码改型

亚最优

牺牲编码效率来换取编码速度

  1. 截断哈夫曼码

只一部分用哈夫曼编码

  1. 平移哈夫曼码

分组用哈夫曼编码

算术编码

从整个符号序列出发

采用递推形式连续编码

只需用到加法和移位运算

  1. 从理论上分析,采用哈夫曼编码可以获得最佳信源字符编码效果;
  2. 实际应用中,由于信源字符出现的概率并非满足2的负幂次方,因此往往无法达到理论上的编码效率和信息压缩比

第6章 彩色图像处理

在图像处理中,颜色的运用受两个主要因素推动:

  1. 颜色是一个强有力的描绘子,它常常可简化目标物的识别和提取。
  2. 人可以辨别几千种不同的颜色,但只能区分出几十种灰度级,这使得颜色在人工图像分析中显得特别重要。

彩色图像处理分为两大类:

  1. 全彩色处理

图像为彩色图

  1. 伪彩色处理

图像为灰度图,为每个灰度区间赋予不同的颜色而成为彩色图

  1. 人眼所感知到的物体的颜色由物体反射光的特性所决定。
  2. 人眼内的锥状体分为三类,分别对红、绿、蓝光敏感。

       对红光敏感的锥状体占65%

       对绿光敏感的锥状体占33%

       对蓝光敏感的锥状体占2%

颜色的特性:

  1. 亮度:与灰度图像的灰度值类似
  2. 色调:任何一种颜色的光都是由若干波长不同的光混合而成,其中比重最大的那种光的颜色即为色调
  3. 饱和度:由色调所对应光在混合光中的比重决定。也可理解该纯色光被白光冲淡的多少,白光越多饱和度越低,色调和饱和度统称为色度。

彩色模型(也称彩色空间或彩色系统)是为了按照某种标准来指定颜色。

从本质上说,彩色模型是一个坐标系统,在该系统下的一个子空间中,每种颜色都对应其中一个点。

彩色模型的设计通常是为了便于硬件实现或便于对颜色的控制。

  1. RGB模型:在彩色显示器、彩色摄像机中广泛使用
  2. CMY / CMYK模型:用于彩色打印
  3. HSI模型:与人描述和解释颜色的方式最接近,便于人为指定颜色;同时该模型将颜色和灰度信息分开,便于应用灰度图像处理技术来处理彩色图像。
  4. Lab模型,纯理论研究常用
  5. 用RGB彩色模型表示的图像包含有3个图像分量,分别与红、绿、蓝三原色相对应。
  6. 当送入RGB监视器时,这三幅图像在荧光屏上混合产生一幅合成的彩色图像。
  7. 在RGB空间中,用于表示每一像素的比特数称为像素深度。

如24比特深度的图像通常称为全彩色或真彩色图像

  1. C(Cyan 青)M(Magenta 品红) Y(Yellow 黄)是颜料的三原色。

       青色颜料:吸收红光

       品红颜料:吸收绿光

       黄色颜料:吸收蓝光

       例如:当白光照到青色颜料上,红光被吸收,返回绿光和蓝光,所以呈现青色。

       CMY / CMYK模型主要用于打印设备

  1. RGB及CMY适合颜色的生成和显示,但不适合人为指定颜色。
  2. HSI模型与人眼对颜色的描述很相似,如淡紫、深红等等。

       H:Hue 色调

       S:Saturation 饱和度

       I:Intensity 强度/灰度

根据图像数据中是否包含调色板,可将图像

分为索引图像和非索引图像。

  1. 非索引图像:像素数据区存放的是颜色值。真彩图像(24位以上)为非索引图,存放顺序:B G R
  2. 索引图像:像素数据区存放的是颜色索引值,其对应的颜色从调色板中获取。最常见的索引图像为8位图像。
  3. 使用GetPixel和SetPixel虽然方便,但效率很低。
  4. 快速取像素方法:用GetPixelAddress函数取像素地址(BYTE型指针)。判断是否为索引图,不是索引图则用指针直接取RGB值,每次取一个BYTE,即RGB当中一个分量。是索引图则用指针取索引值,并获取调色板,根据索引值从调色板中获取RGB值。

用CImage快速存取像素值

使用GetPixel和SetPixel虽然方便,但效率很低。

快速取像素方法:用GetPixelAddress函数取像素地址(BYTE型指针)。判断是否为索引图,不是索引图则用指针直接取RGB值,每次取一个BYTE,即RGB当中一个分量。是索引图则用指针取索引值,并获取调色板,根据索引值从调色板中获取RGB值。

  1. 快速设置像素方法:用GetPixelAddress函数取像素地址(BYTE型指针)。判断是否为索引图,不是索引图则用指针直接设置RGB值,每次设置一个BYTE,即RGB当中一个分量。是索引图则获取调色板,从调色板中获取与RGB值最接近的颜色,取其索引值,用指针将当前像素索引设为该索引值。
  2. 伪彩色(又称假彩色)图像处理是根据特定的准则对灰度值赋以彩色的处理,即将灰度图转换为彩色图
  3. 其目的是为了方便人更清楚地分析灰度图中的灰度层次。因为人眼对彩色的分辨能力比对灰度的分辨能力更强。
  4. 强度分层(又称为密度分层)和彩色编码是最简单的一种伪彩色图像处理方法。
  5. 将灰度图像中的像素灰度理解为高度,则可以将图像转为3维。通过插入分割平面,将图像划分为不同的“层”,为每一层赋以一种彩色

全彩色图像处理方法分为两类:

  1. 独立地处理彩色图像的RGB分量图像,然后组合成为一幅彩色图像。
  2. 将每个像素的RGB值看成一个整体,即一个3维向量,对这个整体的属性进行处理。

能用第一种方法的前提:

  1. 该操作既可用于向量,也可用于标量
  2. 应用于向量时,各分量的处理结果互不相关

例如:线性滤波

  1. 直方图处理

       直方图处理方法(如直方图均衡、直方图拉伸等)针对每幅灰度图自动计算灰度变换函数,如将彩色图像作为三幅灰度图来处理,则RGB通道的变换函数不同,即对同一像素的RGB分量做了不同处理,会引起色彩失真

彩色图像的直方图处理方法:

  1. 将图像从RGB空间转到HSI空间
  2. 针对HSI模型中的I分量(对应一幅灰度图)进行直方图处理,H分量和S分量保持不变
  3. 将处理后的HSI值转为RGB值

       由于仅修改了I分量,即亮度分量,色调和饱和度未改变,图像的色彩能得到保持。

由于排序无法对向量进行,因此不能将灰度

图像的中值滤波方法直接用于RGB分量图像

正确做法:

  1. 保存邻域像素的RGB值,并将RGB值转为HSI值
  2. 根据HSI值的I分量进行排序
  3. 将排序后的中值所对应的HSI值转为RGB值

简化方法:

  1. 保存邻域像素的RGB值,并计算其灰度值(彩色转灰度)
  2. 根据灰度值进行排序
  3. 将排序后的中值所对应的RGB值作为当前像素值

注意:排序时要保留RGB值与灰度值的对应关系可将RGB值存放到RGBQUAD型数组中,灰度值存放到rgbReserved中,根据灰度值对RGBQUAD型数组进行排序。

计算机图像处理知识点复习相关推荐

  1. 数字图像处理知识点复习(上)

    数字图像处理 绪论(一些基本概念) 图像(Image) 数字图像 图像表示 矩阵表示 向量表示 数字图像处理 概念 特点 目的 高级图像编辑 数字图像处理基础 视觉过程 采样量化 图像类型 二值图像 ...

  2. 计算机考研:计算机操作系统知识点复习

    在考研大纲里,操作系统占了35分,次于数据结构和组成原理,但高于计算机网络.总的来说,操作系统实际上是四门考察课程里最简单的.除了PV操作这一大难点,基本没有其它特别难的原理或复杂的算法.重要的是区分 ...

  3. 计算机考研数学基础知识点,2019计算机考研数学复习:打好基础是必须的啊喂!...

    "基础不牢,地动山摇"这句话形容考研数学的复习真是太贴切不过了,尤其是对处于打基础阶段的19考研党们来说,新东方在线整理了2019计算机考研数学复习:打好基础是必须的啊喂! 很多同 ...

  4. 计算机二级ms office知识点讲解,全国计算机二级MSOffice复习知识点

    计算机内部电路组成,可以高速准确地完成各种算术运算.当今计算机系统的运算速度已达到每秒万亿次,微机也可达每秒亿次以上,使大量复杂的科学计算问题得以解决.下面是小编整理的关于全国计算机二级MSOffic ...

  5. 计算机二级mysql工具_2020年全国计算机二级MySQL复习知识点:优化工具

    [摘要] 即将参加全国计算机等级考试的考生们,考试即将到来,大家的备考工作进行得如何了?考必过为大家精心整理了2020年全国计算机二级MySQL复习知识点:优化工具,希望能够助力全国计算机等级考试,相 ...

  6. 全国计算机二级ms office知识点,2017全国计算机二级MSOffice复习知识点

    2017全国计算机二级MSOffice复习知识点 计算机内部电路组成,可以高速准确地完成各种算术运算.当今计算机系统的运算速度已达到每秒万亿次,微机也可达每秒亿次以上,使大量复杂的科学计算问题得以解决 ...

  7. 全国二级 mysql有用_2020年全国计算机二级MySQL复习知识点:调整服务器

    [摘要] 即将参加全国计算机等级考试的考生们,考试即将到来,大家的备考工作进行得如何了?考必过为大家精心整理了2020年全国计算机二级MySQL复习知识点:调整服务器,希望能够助力全国计算机等级考试, ...

  8. 计算机二级数据库系统知识点,2020年全国计算机二级Access复习知识点:分布式数据库系统...

    [摘要] 小编整理了2020年全国计算机二级Access复习知识点:分布式数据库系统的相关内容,下面一起来看看2020年全国计算机二级Access复习知识点:分布式数据库系统的具体内容吧,希望能够帮助 ...

  9. 江苏省计算机二级c语言复习知识点,计算机二级C语言知识点复习

    C语言已先后被移植到大.中.小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序.下面是小编收集的关于计算机二级C语言知识点复习,希望 ...

最新文章

  1. Zora P1测评报告-Tsrjrc
  2. javascript之正则表达式
  3. 服务注册中心,Eureka与Zookeeper比较
  4. studying and learning
  5. [Android ] 进度条组件ProgressBar
  6. android+自动拨打电话,自动拨打电话 - 好玩的代码
  7. 条码打印二 - 1.ZebraDesigner软件生成ZPL指令
  8. 用Java生成word文档
  9. mysql数据库商户与买家_基于mysql实现离我最近的商家列表
  10. 计算机专硕一般研二在干嘛,专硕一般研二在干嘛,专硕两年怎么安排
  11. C语言:输入年份,判断生肖
  12. 农民伯伯android,Android3.1r1API中文文档——ImageView(cnmahj+农民伯伯).doc.doc
  13. 是如何通过阿里面试的?
  14. 获取实时汇率代码片段
  15. 马尔科夫随机场和马尔科夫链
  16. 视频去水印前端界面布局
  17. OC中的Block属性
  18. 注册GitHub时,无法验证您的验证码响应
  19. Vscode Pylint no-member
  20. 【算法练习】含重复字符的全排列

热门文章

  1. Word embeddings-词向量
  2. python画图库-matplotlib
  3. 荣耀60 SE参数配置
  4. python代码画word文档(python+pycharm)
  5. 微信设置水滴昵称,个性很漂亮,快试试!
  6. 开源框架面试之MyBatis面试题
  7. 带你一步步了解S5PV210-I~ARM历史,RISC和CISC的区别,ARM与三星,华为,高通这些的关系
  8. 【应用实例】单片机PM2.5空气监测仪--攀藤G5激光PM2.5传感器
  9. 网站访问速度慢的排查方法
  10. 学习书籍与视频的选择