《数字图像处理》读书笔记2:数字图像处理基础

  • 1 人类视觉感知
    • 1.1 眼睛构造图
    • 1.2 基本概念:
      • 1.2.1 亮度适应(Brightness Adaptation)
      • 1.2.2 主观亮度(Subjective Brightness)
    • 1.3 亮度辨别能力
  • 2 光和电磁波谱
    • 2.1 基本概念
    • 2.2 电磁波谱与可见光谱的关系
    • 2.3 反射光与人的视觉
  • 3 图像感知与获取
    • 3.1 图像感知和获取
    • 3.2 单个传感器获取图像
    • 3.3 带状传感器获取图像
    • 3.4 传感器阵列获取图像
    • 3.5 图像成型模型
  • 4 图像取样和量化
    • 4.1 取样
    • 4.2 量化
    • 4.3 比特数b
    • 4.4 空间和灰度级分辨率
  • 5 像素的一些基本关系
    • 5.1 相邻像素
    • 5.2 像素的邻接性、连通性
      • 5.2.1 邻接性
      • 5.2.2 连通性
    • 5.3 距离度量D
    • 5.4 基于像素的图像操作
    • 5.5 线性和非线性操作
  • 参考文献

1 人类视觉感知

1.1 眼睛构造图


眼睛还是比较复杂的,至少涉及到下面10个零件:

1. 角膜(cornea),眼睛前面的硬而透明的组织,保护眼睛的作用。

2. 巩膜(sclera), 角膜之外的表面都由sclera包裹。

3. 脉络膜(choroid), 包含血管网,提供眼睛的养分。

4. 睫状体(ciliary body) 位于脉络膜前部 ,其上的纤维负责悬挂晶状体(lens)。

5. 虹膜(Iris) 也位于脉络膜前部,通过收缩和扩张控制进入眼睛的光量。中间的开口就是瞳孔。

6. 晶状体(lens) 由睫状体纤维悬挂,能够吸收8%的可见光谱,对短波长的光有较高吸收率。蛋白质负责吸收红外光和紫外光。lens可以自动调节厚度。

  • 人眼对焦是靠睫状肌的拉伸来改变晶状体的形状,也就是改变其焦距(或者说屈光度)来实现。
  • 看远处物体,睫状肌放松,晶状体扁平,屈光度最小,焦距最大。
  • 看近处物体,睫状肌收缩,晶状体变凸,屈光度变大,焦距变短,从而在眼轴长度不变的情况下,保证成像在视网膜上。
  • 长时间看近处会造成睫状肌痉挛,也就是晶状体过凸,焦距过小,是为假性近视。
  • 长期看近处,会造成眼轴永久性变长,超出晶状体最大焦距,是为真性近视。
  • 当人变老,晶状体会慢慢变硬,从而丧失调焦的能力。人眼也就从「变焦」成为「定焦」。这时看近处的物体,就需要靠外加凸透镜(老花镜)来屈光。

7. 视网膜(Retina) 布满整个后部的内壁。来自眼睛外部的光在视网膜上成像。视网膜上分布了两种光感受器,锥状体和杆状体。

8. 锥状体有600-700万个,成为中央凹,位于视网膜中间部分。每隔锥状体都有自己的神经末梢,既能感光,也能感色。对颜色高度敏感,构成白昼视觉或亮视觉。

9. 杆状体有7500-15000万个,几个杆状体共用一个神经末梢。没有彩色感觉,用来给出视野内的一般总体图像,对低照明度敏感,换句话说,只能感光,不能感色。感光灵敏度极高,是锥状细胞感光灵敏度的10,000倍,构成暗视觉或微光视觉。

锥状体和杆状体分工,明亮的环境下,锥状体起主导作用,昏暗的环境下,杆状体起主导作用。

10. 盲点,视网膜上没有光感受器的地方就叫盲点。

1.2 基本概念:

1.2.1 亮度适应(Brightness Adaptation)

包括暗适应(Scotopic)和亮适应(Photopic) 两种情况。
从明亮到昏暗环境,叫做暗适应。反之,叫做亮适应。从上面描述的锥状体和杆状体可以知道,当暗适应的时候,眼睛要调节杆状体发挥作用。亮适应调节速度要比暗适应快。

1.2.2 主观亮度(Subjective Brightness)

指的是人的视觉系统感知的亮度。
如图所示:x轴是光的强度的对数,y轴是主观亮度,y=f(x),而函数f就是对数。

曲线的含义:

  • 主观亮度 和 客观亮度的对数 成线性关系。为什么用对数(Logarithm),感觉这里用它做放大的,毕竟[0.001, 0.1]之间距离太小,用对数转换成[-3, -1] 之间的距离比较好观测。这里用的是10为底数的对数。
  • 人眼可以适应的范围很广,从Scotopic threshold到Glare limit。但是这个范围又被分为若干个亮度适应级别(Brightness Adaptation Level), 图上的两段较短的曲线段就是两个亮度级别。当光的强度达到一定层度,人眼就会从较低的亮度适应级别调整到较高的亮度适应级别。当光的强度突然下降到低于Bb所在的强度时,人眼会有短时间的看不见的现象,然后当调整回到较低的亮度适应级别,又能看到东西了。

1.3 亮度辨别能力

反射表面是由折射率不同的两种 材料的物理边界如空气和组织的界面组成

反射定义为电磁辐射在入射表面上的返回,分为:镜面反射和漫反射。

漫反射是生物组织的一个 共同现象,因为它们没有一个像光学反射面的表面那样的抛光表面。

韦伯比(Weber ratio) 用来表达亮度辨别能力, 公式是:ΔIc/I 。 这和一个实验有关系,一块很大的占据观察者全部视野的漫反射体(可能是毛玻璃),背后用强度I的光线照射。然后增加光的强度,增加的部分用变量ΔI表示。当观察者察觉到亮度变化时,取该值的50%,用变量ΔIc表示,并计算ΔIc/I的值,越小说明观察者的亮度辨别能力越好。反之这个观察者眼睛不咋的。

前文已经提到,对数可以用来做放大器。下面的图表X和Y轴都用了对数做放大。

可以看出,在客观亮度较小时,韦伯比较大,因此人眼此时的亮度辨别能力较差。随着客观亮度的增加,韦伯比变小,人眼亮度辨别能力增强。不过简单的函数并不能完全解释亮度辨别能力。

马赫带(Mach bands) 描述了视觉的上冲和下冲现象。

同时对比(Simultaneous contrast) 解释了不同的背景下的同一物体被观测出来的亮度不一样。

另外还有被深入理解的 “错觉”(Optical illusion)。

2 光和电磁波谱

2.1 基本概念

电磁波 没有质量的粒子流,每个粒子以波的模式并用光速向前运动。

光子 每个粒子包含一束能量,每束能量叫做一个光子。因此,一个光子就是一个粒子所带的能量。光子的能量单位是 电子伏特。

波长 粒子以正弦波的形式运动,两个波峰之间的距离就是波长。λ,读作“拉姆达”。波长的单位是米,微米或者纳米。

频率 表示一秒钟经过了多少个正弦波。单位是Hz, 1Hz表示一秒钟经过了一个正弦波。

波长和频率的关系:(c是光速)

  • λ=c/vλ = c / vλ=c/v

光子能量与频率成正比

  • E=hvE=hvE=hv
    h 为 普朗克常数,v为频率。

频率越高,能量越大,所以伽玛射线对活体组织危害很大

是一种可被人眼感知的电磁波。所以这是个很主观的定义,如果铁血战士能看到的是伽玛射线,它可能会称伽玛射线为“光”。对人而言,可见光只占电磁波的一小部分。用棱镜可以将白光分解成连续的色谱:红,橘黄,黄,绿,蓝,紫色。如下图:

2.2 电磁波谱与可见光谱的关系



可见光的波段:从紫色的0.43µm 到 红色的0.79µm.

2.3 反射光与人的视觉

人看到物体的颜色取决与物体反射的可见光谱。 比如天为什么是蓝色的,简短来说,是因为空气分子散射波长较短的蓝光造成的,而更短波长的紫色虽然被散射,但人眼对紫光不敏感。

无色光,又叫单色光。唯一的属性是光的强度。随着强度的增加,从黑色到灰色,最后到白色。问题是,如果是白色,其实就可以理解为彩色可见光的组合,还能认为是无色光么?所以无色光似乎又是一种人的主观感觉。

**灰度级:**灰度级用来表示光的强度,所以灰度级和强度等价。

单色图像:单色图像也叫做灰度图像。

彩色光源的质量

  • 发光强度 从光源流出能量的总量,单位是瓦特(W)
  • 光通量 观察者感受到的能量,单位是流明数(lm), 这个取决与观察者是否能感知。比如远红外有发光强度,但是不能被观察者感知,因此光通量为0.
  • 亮度 是人的主观感知,不能被度量。

电磁波成像的基本限制
可以设计一些传感器通过检测物体发来的电磁波来成像。但是这些用于成像的电磁波段必须小于物体的尺寸。比如要对水分子成像,传感器就必须能接受到水分子传来的波段为远紫外或软X射线范围的电磁波。因为它们的波长小于水分子的直径:10e-10m

3 图像感知与获取

3.1 图像感知和获取

如今的两种主要成像光源:一是光照源的组合;二是能量的吸收和反射成像
对于成像的光源非常普遍,有传统的光源和非传统的光源,根据光源的性质可以分为反射和透射光源两种。
根据光源的特性,我们创造了图像传感器,其基本原理足将输入的光,根据输入的电
子能最与感知器材料相结合的特性,转换成一个响应电压,然后将其转化成可测量的能量形
式。

3.2 单个传感器获取图像

对于单个传感器,域为熟悉的是光电二极管,由硅构成,输出的波形与光成正比,然后
安装在传感器前的过滤器提升了选择能力,可以选择自己想要的光源。其原理是:将负片装
在鼓上,该鼓转动提供一个一维的位移,单传感器安装在引导螺杆上,并提供垂直方向上的
移动,并用一个镜于来控制发射光束到扫描图形上。如图所示:

3.3 带状传感器获取图像

  • 几何形状是带状排列的传感器形成的一个传感器带。

传感器带在一个方向上提供成像单元,相对于传感器带垂直方向的运动在另一个方向成像。成像传感器带一次给出一幅图像的一行,传感器带的运动完成二维图橡的另一个维度。

  • 以圆环形状安装的传感器用于医学与工程成像,已得到三维物体的横断面(切片)图像。

原理如下:一个旋转的X射线源提供照射,并且相对于射线源的传感器部分手机通过物体的X射线能量。(显然传感器对X射线敏感);传感器的输出必须由重建算法处理,重建的目的是把感知数据转换成有意义的横截面的图像。

3.4 传感器阵列获取图像

传感器以二位阵列形式进行排列的独特传感器,如CCD阵列照相机。
如图所示,来自照射源的能量是场景元素的反射(该能量也可以通过场景元素的透射)。
数字图像获取过程的一个例子:(c)成像系统执行第一个功能是收集入射能量,并将它聚焦到一个图像平面上。如果照射的是光,则成像系统的前端是光学透镜,该透镜把观察到的场景投影到透镜的聚焦平面上,如图(d),与焦平面重合的传感器阵列产生与每个传感器接受到的光的总量成正比的输出。数字或模拟电路扫描这些的输出,并把他转换成模拟信号,然后由成像系统的其他部分数字化,输出是一幅数字图像,如图(e)的图解所示。

3.5 图像成型模型

我们用f(x,y)f(x,y)f(x,y)的二维函数来表示图像。(第一章有讲)
当一幅图像由物理过程产生时,其亮度值正比于物理源(电磁波)所辐射的能量。因此f(x,y)f(x,y)f(x,y)一定是非零有限的,即:

0&lt;f(x,y)&lt;∞0&lt;f(x,y)&lt;∞0<f(x,y)<∞

f(x,y)f(x,y)f(x,y)可以由两个分量表征:入射分量i(x,y)i(x,y)i(x,y)和反射分量r(x,y)r(x,y)r(x,y),关系如下:

f(x,y)=i(x,y)r(x,y)f(x,y)=i(x,y)r(x,y)f(x,y)=i(x,y)r(x,y)

其中

0&lt;i(x,y)&lt;∞0&lt;i(x,y)&lt;∞0<i(x,y)<∞,0&lt;r(x,y)&lt;10&lt;r(x,y)&lt;10<r(x,y)<1

单色图像在任何坐标处(x0,y0)(x0,y0)(x0,y0)的强度(灰度)表示为

其取值范围为


区间[Lmin,Lmax][Lmin,Lmax][Lmin,Lmax]称为灰度级(强度级)。实际常常令区间为[0,L−1][0,L-1][0,L−1],其中l=0l=0l=0为黑,l=L−1l=L-1l=L−1在灰度级中为白色。所有中间值为从黑色到白色之间变化的灰度色调。

4 图像取样和量化

获取图像的目标是从感知的数据中产生数字图像,但是传感器的输出是连续的电压波形,因此需要把连续的感知数据转换为数字形式。这一过程由图像的取样与量化来完成。数字化坐标值称为取样;数字化幅度值称为量化。

4.1 取样

  • 在取样时,若横向的像素数(列数)为M ,纵向的像素数(行数)为N,则图像总像素数为M*N个像素。(M和N必须取正整数)

  • 一般来说,采样间隔越大,所得图像像素数越少,空间分辨率低,质量差,严重时出现马赛克效应;采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。

    下采样和上采样:

  • 缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。

  • 放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。

下采样原理:对于一幅图像I尺寸为MN,对其进行s倍下采样,即得到(M/s)(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值:

上采样原理: 图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。简略的可以将插值算法分为传统插值、 基于边缘的插值和基于区域的插值 3类

4.2 量化

灰度级量化的取值是2的整数次幂,区间为[0,L−1][0,L-1][0,L−1],即:

L=2kL=2^kL=2k

高动态范围图像 : 占有灰度级全部有效段的图像。当较多数目的像素具有这样的特性,图像就有较高的对比度。相反,低动态范围图像看起来似乎是冲淡了的灰暗格调。

量化等级越多,所得图像层次越丰富,灰度分辨率高,图像质量好,但数据量大;量化等级越少,图像层次欠丰富,灰度分辨率低,会出现假轮廓现象,图像质量变差,但数据量小。

很明显,数字图像的质量在很大程度上取决于取样和量化中所用的样本数和灰度级。一般,当限定数字图像的大小时, 为了得到质量较好的图像可采用如下原则:

  • (1) 对缓变的图像, 应该细量化, 粗采样, 以避免假轮廓。
  • (2) 对细节丰富的图像,应细采样,粗量化, 以避免模糊(混叠)。

4.3 比特数b

存储数字图像所需要的比特数为b,则

b=M∗N∗kb=M*N*kb=M∗N∗k

当一幅图像是2k2^k2k灰度级时,实际上通常称该图像是k比特图像

4.4 空间和灰度级分辨率

取样值一幅衣服图像空间分辨率的主要参数。空间分辨率是图像中可分辨的最小细节
类似的,灰度级分辨率是指在灰度级别中可分辨的最小变化

如图,在数字图像中各种取样数目的典型效果:


N和K两个参数的联系:(书中的实验)

  • 对于有大量细节的图像,可能只需要较少的灰度级。
  • 当N固定值时,图像的感觉质量与所用的灰度级数是近似独立的。
  • 图像质量保持相同,但灰度级下降了。原因:k的减小倾向于对比度的增加。

5 像素的一些基本关系

5.1 相邻像素

  • 位于坐标(x,y)(x,y)(x,y)处的像素p有4个水平和垂直的相邻像素,这组像素成为p的4邻域,用N4(p){N_4}(p)N4​(p)表示。
  • p的4个对角相邻像素用ND(p){N_D}(p)ND​(p)表示。
  • 它们共同构成了p的8邻域,用N8(p){N_8}(p)N8​(p)表示,即 N4(p)+ND(p)=N8(p){N_4}(p)+{N_D}(p)={N_8}(p)N4​(p)+ND​(p)=N8​(p) 。

5.2 像素的邻接性、连通性

5.2.1 邻接性

定义V为邻接性的灰度值集合。在二值图像中,我们把具有1值得像素归诸于邻接像素,即V={1}。看图

4邻接 :如果q在集合N4(p){N_4}(p)N4​(p)中,则具有V中数值的两个像素p和q是4邻接的。
8邻接 :如果q在集合N8(p){N_8}(p)N8​(p)中,则具有V中数值的两个像素p和q是8邻接的。
m邻接 :如果q在N4(p){N_4}(p)N4​(p)中,或者在ND(p){N_D}(p)ND​(p)中,而且集合N4(p){N_4}(p)N4​(p)与N4(q){N_4}(q)N4​(q)的交集没有V中的像素,此为1,则具有V中数值的两个像素p和q是m邻接的。(此处,可直接将V理解为1,更容易理解)。

为什么m邻接少一条?
如果m邻接跟8邻接同样的连接方式看一下,此时是不满足m邻接的定义的。

从图中可以看出8邻接有多条通路,而m邻接只有一条通路,说明了m邻接的引入是为了消除8邻接的二义性。

上图8邻接右上点与右下点的通路为8通路,m邻接的通路为m通路。

5.2.2 连通性

连通性: 令S为图像中的一个像素子集,S中的全部像素之间存在通路,则可以说两个像素p和q在S中是连通的。对于S中任何像素p,S中连通到该像素的像素集称为S的连通分量。如果S仅有一个连通分量,则集合S称为连通集。

5.3 距离度量D

对于坐标分别为(x,y),(s,t),(v,w)(x, y), (s, t), (v,w)(x,y),(s,t),(v,w)的像素p,q,zp,q, zp,q,z

p和q的欧几里得距离:

p和q间的距离D4{D_4}D4​:

这时候距(x,y)(x, y)(x,y)的距离D4{D_4}D4​小于等于某个值 rrr 的像素形成一个中心在(x,y)(x,y)(x,y)的菱形。

eg:距离小于等于2的像素如图

其中D4=1{D_4} = 1D4​=1的像素就是(x,y)(x, y)(x,y)的4邻域


p和q间的距离D8{D_8}D8​距离:

此时距(x,y)(x, y)(x,y)的距离D8{D_8}D8​小于等于某个值 rrr 的像素形成一个中心在(x,y)(x,y)(x,y)的菱形。

eg:距离小于等于2的像素如图

其中D8=1{D_8} = 1D8​=1的像素就是(x,y)(x, y)(x,y)的8邻域

如果选择m邻接,则两点之间的距离用最短通路定义。(数字图像处理第三版 p41)

5.4 基于像素的图像操作

像素间的运算,如一个图像除以另一幅图像。意思是在两幅图像相应的像素间执行除法运算。

5.5 线性和非线性操作

令H是一种算子,其输入和输出都是图像。如果对于任何两幅图像fff和ggg及任何两个标量a,ba,ba,b有如下关系:

H(af+bg)=aH(f)+bH(g)H(af+bg) = aH(f)+bH(g)H(af+bg)=aH(f)+bH(g)

则称H为线性算子

对两幅图像(用硕士常数相乘)和应用线性算子等同于分别对图像应用该算子,并各自与常数相乘,然后相加结果。

不能通过上式验证的算子称为非线性算子

参考文献

博客1:https://blog.csdn.net/csfreebird/article/details/9949925
博客2:https://blog.csdn.net/qq_32666555/article/details/79187044
《数字图像处理》第二章

《数字图像处理》读书笔记2:数字图像处理基础相关推荐

  1. 区块链读书笔记01-区块链基础

    区块链读书笔记01 - 区块链基础 基本概念 加密哈希函数(cryptographic hash function) 哈希指针 父区块(parent block) 创世区块(genesis block ...

  2. 考试全程指导读书笔记1 -Chap1 信息系统基础

    考试全程指导读书笔记 1 Chap1 信息系统基础 1.1   霍尔提出的系统方法的三维结构体系:霍尔三维结构 逻辑维.时间维.知识维组成的立体空间结构: 逻辑维:7个步骤:明确问题.系统指标设计.系 ...

  3. 《汇编语言》- 读书笔记 - 第1章-基础知识

    <汇编语言>- 读书笔记 - 第1章-基础知识 1.1 机器语言 1.2 汇编语言的产生 1.3 汇编语言的组成 1.4 存储器 1.5 指令和数据 1.6 存储单元 1.7 CPU对存储 ...

  4. 读书笔记之——数字图像处理与机器视觉(一)

    这本书自从买来之后,一直没有仔细的看过,处于吃灰状态--在外界的作用下开始尝试写读书笔记,希望能够坚持下去,起到应有的作用!!!谨以此勉励自己!!! 虽然出身计算机专业,但是越发觉得懂得太少,无知者无 ...

  5. 数字图像处理学习笔记 六 彩色图像处理

    目录 (一)彩色模型介绍 1.1 RGB模型 1.2 CMY.CMYK模型 1.3 HSI彩色模型 1.4 HSV模型 1.5 YCbCr 彩色空间 (二)伪彩色图像处理 (三)全彩色图像处理及彩色变 ...

  6. 【读书笔记】Python编程-基础知识和案例讲解,“笨办法”学Python 3_2020.02.15

    [概述] --书名:"笨办法"学Python 3 --作者:泽德 A.肖 --日期:2020年02月15日 --大事件记录: 截至2月14日24时,据31个省(自治区.直辖市)和新 ...

  7. 计算机图形学 读书笔记(一) 基础概念

    写个读书笔记,一来作为字典以后可以查,二来记录自己的理解. 并没有对每个知识点的详细解释,大部分只有主观的定性的解释. 大量的配图用的清华大学的PPT里的图,会不会有版权问题呀....让我删我就删.. ...

  8. 《增强现实:原理、算法与应用》读书笔记(1)基础矩阵、本质矩阵与单应性矩阵

    <增强现实:原理.算法与应用>读书笔记(1) 入坑增强现实,学长让我先把这本书看懂,看了一小半,确实有很多对数学要求挺高的地方,所以打算写个读书笔记,分享一些体会. 第三章:实景的三维结构 ...

  9. 【Java并发编程的艺术】读书笔记——Java并发编程基础

    学习参考资料:<Java并发编程的艺术> 文章目录 1.线程的几种状态 2.如何安全的终止线程 3.线程间通信(重要) 3.1共享内存 3.2消息传递 1.线程的几种状态 线程在运行的生命 ...

  10. 数字图像处理 读书笔记一 绪论

    基本概念 函数 f(x, y) 函数 f(x, y) 可以用来表示一副图像,x和y是平面坐标,f(x, y)的结果叫做幅值,表示该点处的强度或者灰度. 数字图像(Digital Image) 当x, ...

最新文章

  1. R语言ggplot2可视化:可视化斜率图、对比同一数据对象随着时间推移多个状态的差异(Slope Chart)、例如、对比不同癌症5年期、10年期、15年期存活率的差异
  2. Spring整合Hibernate中自动建表
  3. 05_MyBatis基于注解的开发
  4. JavaScript slice() 方法
  5. C++使用流进行输入输出
  6. alm系统的使用流程_支持MBSE的企业信息管理系统发展与启示
  7. 密码学原理与实践_到底什么是防火墙入侵检测密码学身份认证?如何高效建立网络安全知识体系?...
  8. 一文带你了解数仓智能运维框架
  9. 2017.4.19 细胞分裂 思考记录
  10. c语言编写的键盘记录程序,C程序读取键盘码的方法
  11. python是什么类型的编程语言-python是一种什么类型的语言
  12. java日期转换_java日期格式转换
  13. python语言后缀_在Python语言中,可以作为源文件后缀名的是
  14. Unity批量刷草工具及优化
  15. mysql简单数据库定期备份
  16. quartus 使用技巧
  17. 计算机主机只有通电的情况下,台式联想电脑不通电怎么办
  18. 发邮件时提示连接服务器失败,发送邮件时经常出现发送失败或是连接超时什么原因...
  19. Python经典实验4-字典和集合的应用
  20. 2022年度东湖高新区国家重点研发计划“先进结构与复合材料”重点专项申报指南!

热门文章

  1. 上帝之眼——GIS技术的决定性作用
  2. 百数谐韵咏物千字文全文释义
  3. 群晖NAS:共享文件夹、用户、群组建立及权限设置
  4. Java对接支付宝退款功能
  5. 完美解决:error: failed to push some refs to 'https://github.com/xxxx.git'
  6. c语言搜题答案软件软件,大学c语音搜题
  7. 腾讯短网址在线生成(url.cn短网址) 2020最新腾讯短网址生成api接口推荐
  8. vue安装及创建运行
  9. R系银河麒麟配置本地镜像源
  10. C语言实现,古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)