0%

灰度变换是指根据某种目标条件,按一定变换关系逐点改变源图像中每一个像素灰度值的方法,目的是为了改善画质,使图像的显示效果更加清晰。图像的灰度变换处理是图像增强处理技术中的一种非常基础、直接的空间域图像处理方法,也是图像数字化软件和图像显示软件的一个重要组成部分。

本文通过实现直方图均衡线性变换分别对图像进行处理,研究其原理及效果。

Read more »

万维网客户程序与万维网服务器程序之间的交互遵守严格的协议,这就是超文本传输协议 HTTP(HyperText Transfer Protocol)。HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送。

安全套接字层 SSL(Secure Socket Layer) 和运输层安全 TLS(Transport Layer Security)是现在广泛使用的两个安全协议,作用在端系统应用层的 HTTP 和运输层之间,在 TCP 之上建立起一个安全通道,为通过 TCP 传输的应用层数据提供安全保障。

超文本传输安全协议 HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)在 HTTP 的基础上加入 SSL 层,通过传输加密和身份认证保证了传输过程的安全性。

本次实验使用 Wireshark 报文分析软件,分别通过分析 HTTP 和 HTTPS 协议的交互过程和报文内容,研究二者的工作原理及异同之处。

Read more »

摘要

本文提出了一种用于训练支持向量机的新算法:序列最小优化算法(SMO)。训练支持向量机需要解决非常大的二次规划(QP)优化问题。SMO 将这个大的 QP 问题分解为一系列最小的 QP 问题。这些小的 QP 问题可以通过解析来解决,从而避免了将耗时的数值 QP 优化用作内部循环。SMO 所需的内存量与训练集大小成线性关系,这使 SMO 可以处理非常大的训练集。由于避免了矩阵计算,因此对于各种测试问题,SMO 随训练集大小在线性和二次方之间缩放,而标准分块 SVM 算法随训练集大小在线性和三次方之间缩放。SMO 的计算时间主要由 SVM 评估决定,因此 SMO 对于线性 SVM 和稀疏数据集最快。在现实世界的稀疏数据集上,SMO 的速度可以比分块算法快 1000 倍以上。

Read more »

默认状态下 const 对象仅在文件内有效

当以编译时初始化的方式定义一个 const 对象时,编译器将在编译过程中把用到该变量的地方都替换成对应的值,例如:

1
const int bufsize = 512;

为了执行上述替换,编译器必须知道变量的初始值。如果程序包含多个文件,则每个用了 const 对象的文件都必须得能访问到它的初始值才行。要做到这一点,就必须在每一个用到变量的文件中都有对它的定义。为了支持这一用法,同时避免对同一变量的重复定义,默认情况下,const 对象被设定为仅在文件内有效。当多个文件中出现了同名的 const 变量时,其实等同于在不同文件中分别定义了独立的变量。

Read more »

边缘检测(Edge detection)是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。本文使用多种不同的方法,实现对 Lena 肖像的边缘检测,研究分析各算法的效果和优缺点。所涉及的方法如下:

  • 高通滤波法
    • 理想高通滤波器
    • Butterworth 高通滤波器
    • 指数高通滤波器
  • 微分算子法
    • Roberts 算子
    • Sobel 算子
    • Laplacian 算子
    • Canny 算子
  • 神经网络方法
    • HED 算法
Read more »

配置实验环境

由于本人电脑的存储空间不足,无法再承担安装一个虚拟机的开销,因此在阿里云上申请了一个云服务器进行本次实验。

服务器配置如下:

  • 1 核 - 2GB 内存 - 40GB 系统盘
  • 操作系统:Ubuntu 18.04
Read more »

C++ 中应使用 const(而不是 #define)定义符号常量

  • 能够明确指定类型
  • 自带 static 特性,能够将定义限制在特定的函数或文件中(定义在头文件中被多个文件包含)
  • 能够将 const 用于更复杂的类型(如数组和结构)
  • C++ 中可以用 const 值来声明数组长度
Read more »

  • 分而治之:基于递归,将一个复杂的问题分解成两个或更多相似的子问题,直到子问题足够简单可以直接解决,最后将子问题的解合并得到原问题的解。
  • 先自顶向下分解,后自底向上合并。
  • 重叠子问题可以通过记忆化进行优化。
Read more »