Py之cv2:cv2(OpenCV,opencv-python)库的简介、安装、使用方法(常见函数、图像基本运算等)

news2025/1/17 11:11:12

1. OpenCV简介

1.1 OpenCV定义与功能

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它为计算机视觉应用程序提供了一个通用的基础设施,并加速了在商业产品中使用机器感知。作为BSD许可的产品,OpenCV使企业可以很容易地利用和修改代码。该库拥有超过2500个优化算法,其中包括经典和最先进的计算机视觉和机器学习算法的综合集。

OpenCV的主要功能包括:

  • 图像处理:提供了丰富的图像处理函数,如滤波、边缘检测、角点检测、采样与差值、色彩转换、形态操作、直方图、图像金字塔等。

  • 视频分析:支持视频的读取、写入和处理,能够进行运动检测、目标跟踪等操作。

  • 特征提取与匹配:具备强大的特征提取算法,如SIFT、SURF、ORB等,可用于图像匹配、三维重建等应用。

  • 机器学习:集成了多种机器学习算法,如支持向量机(SVM)、决策树、神经网络等,可用于图像分类、目标识别等任务。

  • 计算摄影学:支持图像的增强、融合、超分辨率重建等操作,可用于提高图像质量和视觉效果。

  • 三维重建与增强现实:提供了三维重建的算法和工具,可用于从图像或视频中重建三维场景,以及实现增强现实应用。

1.2 OpenCV应用领域

OpenCV的应用领域非常广泛,涵盖了多个行业和研究方向:

计算机视觉领域

  • 人机互动:通过图像和视频分析,实现手势识别、面部表情识别等功能,使人机交互更加自然和直观。

  • 物体识别:能够识别和分类图像中的各种物体,如车辆、行人、动物等,广泛应用于安防监控、智能交通等领域。

  • 图像分割:将图像分割成不同的区域或对象,为后续的分析和处理提供基础,如医学图像分割、遥感图像分割等。

  • 人脸识别:实现人脸的检测、识别和验证,应用于门禁系统、手机解锁、社交网络等领域。

  • 动作识别:分析视频中的人物动作,用于体育训练、康复治疗、视频监控等场景。

  • 运动跟踪:跟踪图像或视频中的运动目标,如车辆跟踪、人体跟踪等,可用于交通流量监测、机器人导航等。

  • 机器人视觉:为机器人提供视觉感知能力,帮助机器人进行环境感知、路径规划、物体抓取等操作。

  • 运动分析:分析物体的运动轨迹和速度,应用于体育分析、工业自动化等领域。

  • 机器视觉:用于工业生产中的质量检测、缺陷检测、尺寸测量等,提高生产效率和产品质量。

  • 结构分析:分析图像中的结构信息,如建筑物的结构、道路的状况等,应用于土木工程、交通管理等领域。

  • 汽车安全驾驶:通过图像和视频分析,实现车道偏离预警、前车碰撞预警、行人检测等功能,提高驾驶安全性。

计算机操作底层技术

  • 图像数据操作:提供图像数据的分配、释放、复制、设置和转换功能,支持图像和视频文件的输入输出操作。

  • 矩阵和向量操作:实现矩阵积、解方程、特征值以及奇异值等线性代数算法,为图像处理和机器学习提供数学基础。

  • 动态数据结构:支持列表、队列、集合、树、图等动态数据结构,方便进行数据的组织和管理。

  • 基本的GUI功能:提供图像与视频显示、键盘和鼠标事件处理、滚动条等基本的图形用户界面功能,方便用户与程序进行交互。

  • 图像标注:支持在图像上绘制线、二次曲线、多边形、文字等,用于图像的标注和说明。

2. OpenCV安装方法

2.1 直接命令法

直接命令法是安装OpenCV最简便的方法之一。通过Python的包管理工具pip,可以快速安装OpenCV库。在命令行中输入以下命令即可完成安装:

bash复制

pip install opencv-python

这种方法适用于大多数用户,因为它简单快捷,不需要额外的配置。不过,需要注意的是,直接命令法安装的OpenCV版本可能不是最新的,或者可能与系统中已安装的其他库存在版本冲突。此外,这种方法安装的OpenCV可能不包含一些额外的贡献模块,如opencv-contrib-python,这些模块提供了更多的功能和算法。

2.2 使用whl文件法

使用whl文件法安装OpenCV可以提供更多的灵活性和控制。首先,需要从官方网站https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv下载与你的Python版本和操作系统架构相匹配的OpenCV whl文件。例如,如果你使用的是Python 3.8版本,在Windows操作系统上,你可能会下载类似opencv_python‑4.5.1‑cp38‑cp38‑win_amd64.whl的文件。

下载完成后,在命令行中切换到whl文件所在的目录,然后使用pip命令进行安装:

bash复制

pip install opencv_python‑4.5.1‑cp38‑cp38‑win_amd64.whl

使用whl文件法的好处是可以精确控制安装的OpenCV版本,避免版本冲突问题。此外,这种方法还可以安装包含额外贡献模块的OpenCV版本,如opencv-contrib-python,这些模块提供了更多的高级功能和算法,对于需要这些功能的用户来说非常有用。

2.3 Anaconda环境下安装

对于使用Anaconda环境的用户,安装OpenCV也非常简单。Anaconda是一个流行的Python数据科学平台,它提供了丰富的科学计算库和工具。在Anaconda环境中,可以通过conda命令或者pip命令来安装OpenCV。

使用conda命令安装OpenCV:

bash复制

conda install -c conda-forge opencv

或者使用pip命令安装:

bash复制

pip install opencv-python

在Anaconda环境中安装OpenCV的好处是可以更好地管理依赖关系和环境配置。Anaconda提供了强大的环境管理功能,可以轻松创建和切换不同的Python环境,这对于需要在不同项目中使用不同版本的OpenCV的用户来说非常方便。此外,Anaconda还集成了许多其他科学计算库,如NumPy、SciPy、Matplotlib等,这些库与OpenCV一起可以构建强大的计算机视觉和机器学习应用。

3. OpenCV基础函数

3.1 图像读取与显示

在使用OpenCV进行图像处理时,图像的读取与显示是最基本的操作。cv2.imread()函数用于读取图像文件,它将图像读入为NumPy数组,适合处理.jpg、.png、.bmp、.tiff等常见格式的图像。函数原型为cv2.imread(filename, flags=1),其中filename是要读取的图像文件的名称(包括路径),flags参数用于指定读图的方式。flags可以接受的正整数值有以下几种可能:

  • cv2.IMREAD_COLOR:默认值,用于读取一张彩色图像。

  • cv2.IMREAD_GRAYSCALE:以灰度模式读取图像。

  • cv2.IMREAD_UNCHANGED:读取图像包括alpha通道。

例如,读取一张彩色图像的代码如下:

Python复制

import cv2
img = cv2.imread('path/to/image.jpg', cv2.IMREAD_COLOR)

图像的显示使用cv2.imshow()函数,其函数原型为cv2.imshow(window_name, image),其中window_name是窗口名称,image是要显示的图像。例如:

Python复制

cv2.imshow('Image Window', img)
cv2.waitKey(0)  # 等待键盘输入,参数为0表示无限等待
cv2.destroyAllWindows()  # 关闭所有创建的窗口

3.2 图像保存与复制

图像的保存使用cv2.imwrite()函数,其函数原型为cv2.imwrite(filename, img, params),其中filename是要保存的文件名,img是要保存的图像,params是针对特定格式的参数,如JPEG图像的质量(0 - 100的整数,默认95)。例如,保存一张图像的代码如下:

Python复制

cv2.imwrite('path/to/save/image.jpg', img)

图像的复制使用img.copy()方法,该方法返回图像的一个副本。例如:

Python复制

img_copy = img.copy()

3.3 图像颜色空间转换

图像颜色空间转换是图像处理中的一个重要环节,OpenCV提供了cv2.cvtColor()函数来实现不同颜色空间之间的转换。函数原型为cv2.cvtColor(src, code, dstCn=None),其中src是输入图像,code是颜色空间转换的代码,dstCn是目标图像的通道数。例如,将BGR图像转换为灰度图像的代码如下:

Python复制

gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

此外,还可以进行其他颜色空间的转换,如BGR到HSV、BGR到LAB等。这些转换在图像分割、特征提取等应用中非常有用。例如,将BGR图像转换为HSV颜色空间的代码如下:

Python复制

hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

通过这些基础函数,用户可以方便地进行图像的读取、显示、保存、复制以及颜色空间的转换,为后续的图像处理和分析打下坚实的基础。

4. 图像基本运算

4.1 图像算术运算

图像算术运算是图像处理中的基础操作,包括图像的加法、减法、乘法和除法等。这些运算可以用于图像的合成、增强、对比度调整等多种应用。

  • 图像加法:图像加法可以将两个图像或一个图像与一个常数相加。在OpenCV中,可以使用cv2.add()函数来实现图像加法。例如,将两个图像img1img2相加的代码如下:

    Python复制

    result = cv2.add(img1, img2)

    图像加法常用于图像的合成,例如将一个水印图像添加到另一个图像上。此外,图像加法还可以用于调整图像的亮度,通过将图像与一个常数相加来增加或减少图像的亮度。

  • 图像减法:图像减法可以将两个图像或一个图像与一个常数相减。在OpenCV中,可以使用cv2.subtract()函数来实现图像减法。例如,将图像img1减去图像img2的代码如下:

    Python复制

    result = cv2.subtract(img1, img2)

    图像减法常用于图像的背景消除,例如通过减去背景图像来提取前景物体。此外,图像减法还可以用于检测图像之间的差异,例如在视频监控中检测运动物体。

  • 图像乘法:图像乘法可以将两个图像或一个图像与一个常数相乘。在OpenCV中,可以使用cv2.multiply()函数来实现图像乘法。例如,将图像img与常数2相乘的代码如下:

    Python复制

    result = cv2.multiply(img, 2)

    图像乘法常用于图像的对比度增强,通过将图像与一个常数相乘来增加图像的对比度。此外,图像乘法还可以用于图像的融合,例如将两个图像按照一定的比例融合在一起。

  • 图像除法:图像除法可以将两个图像或一个图像与一个常数相除。在OpenCV中,可以使用cv2.divide()函数来实现图像除法。例如,将图像img除以常数2的代码如下:

    Python复制

    result = cv2.divide(img, 2)

    图像除法常用于图像的归一化,例如将图像的像素值归一化到0到1之间。此外,图像除法还可以用于图像的去雾,例如通过将图像除以一个雾的模型来去除图像中的雾。

4.2 图像位运算

图像位运算是对图像像素的二进制位进行操作的运算,包括按位与、按位或、按位异或和按位非等。这些运算可以用于图像的掩膜操作、图像的区域提取等多种应用。

  • 按位与:按位与运算可以将两个图像或一个图像与一个掩膜进行按位与操作。在OpenCV中,可以使用cv2.bitwise_and()函数来实现按位与运算。例如,将图像img与掩膜mask进行按位与运算的代码如下:

    Python复制

    result = cv2.bitwise_and(img, img, mask=mask)

    按位与运算常用于图像的掩膜操作,例如通过一个掩膜来提取图像中的特定区域。此外,按位与运算还可以用于图像的逻辑运算,例如判断两个图像的像素是否同时满足一定的条件。

  • 按位或:按位或运算可以将两个图像或一个图像与一个掩膜进行按位或操作。在OpenCV中,可以使用cv2.bitwise_or()函数来实现按位或运算。例如,将图像img1img2进行按位或运算的代码如下:

    Python复制

    result = cv2.bitwise_or(img1, img2)

    按位或运算常用于图像的合成,例如将两个图像合成在一起。此外,按位或运算还可以用于图像的逻辑运算,例如判断两个图像的像素是否满足至少一个条件。

  • 按位异或:按位异或运算可以将两个图像或一个图像与一个掩膜进行按位异或操作。在OpenCV中,可以使用cv2.bitwise_xor()函数来实现按位异或运算。例如,将图像img1img2进行按位异或运算的代码如下:

    Python复制

    result = cv2.bitwise_xor(img1, img2)

    按位异或运算常用于图像的差异检测,例如检测两个图像之间的差异。此外,按位异或运算还可以用于图像的加密和解密,例如通过一个密钥对图像进行加密和解密。

  • 按位非:按位非运算可以对一个图像进行按位非操作。在OpenCV中,可以使用cv2.bitwise_not()函数来实现按位非运算。例如,对图像img进行按位非运算的代码如下:

    Python复制

    result = cv2.bitwise_not(img)

    按位非运算常用于图像的反相处理,例如将图像的亮部变为暗部,暗部变为亮部。此外,按位非运算还可以用于图像的逻辑运算,例如对图像的像素进行取反操作。

5. 图像格式转换

5.1 Image.open与cv2.imread区别

Image.opencv2.imread 是 Python 中两种常用的图像读取方法,它们分别属于 PIL 库和 OpenCV 库。这两种方法在功能和使用上有一些显著的区别。

  • 返回类型Image.open 返回的是一个 PIL 图像对象,这个对象提供了丰富的图像处理方法,可以直接用于图像的显示、裁剪、旋转等操作。而 cv2.imread 返回的是一个 NumPy 数组,这个数组可以方便地进行像素级的操作和数学计算,适合进行复杂的图像处理算法实现。

  • 颜色通道顺序Image.open 读取的图像是 RGB 格式,即红色、绿色、蓝色通道的顺序。而 cv2.imread 读取的图像是 BGR 格式,即蓝色、绿色、红色通道的顺序。这在进行图像处理时需要注意,因为颜色通道的顺序会影响图像的颜色显示和处理结果。

  • 文件支持格式:PIL 库的 Image.open 支持多种图像文件格式,如 JPEG、PNG、GIF、BMP 等。OpenCV 的 cv2.imread 也支持多种格式,但在某些特殊格式的支持上可能与 PIL 有所不同。例如,PIL 对一些古老的图像格式或特殊的图像编码格式有更好的支持,而 OpenCV 在处理视频帧和实时图像流方面更加强大。

  • 读取效率:在读取图像的速度上,cv2.imread 通常比 Image.open 更快。这是因为 OpenCV 库在底层进行了大量的优化,特别是在处理大型图像和批量图像读取时,cv2.imread 的效率优势更加明显。然而,对于一些简单的图像处理任务,这种速度差异可能并不显著。

5.2 格式相互转换

在实际的图像处理项目中,我们可能需要在 PIL 图像对象和 OpenCV 的 NumPy 数组之间进行转换,以便利用各自库的优势进行图像处理。以下是如何进行这两种格式相互转换的方法。

  • PIL 转 OpenCV

    Python复制

    from PIL import Image
    import numpy as np
    import cv2
    
    # 使用 PIL 读取图像
    pil_image = Image.open('path/to/image.jpg')
    # 将 PIL 图像转换为 OpenCV 的 NumPy 数组
    # 注意:需要将 RGB 格式转换为 BGR 格式
    cv_image = cv2.cvtColor(np.array(pil_image), cv2.COLOR_RGB2BGR)
  • OpenCV 转 PIL

    Python复制

    import cv2
    from PIL import Image
    
    # 使用 OpenCV 读取图像
    cv_image = cv2.imread('path/to/image.jpg')
    # 将 OpenCV 的 NumPy 数组转换为 PIL 图像
    # 注意:需要将 BGR 格式转换为 RGB 格式
    pil_image = Image.fromarray(cv2.cvtColor(cv_image, cv2.COLOR_BGR2RGB))

通过上述转换方法,我们可以在 PIL 和 OpenCV 之间灵活地进行图像格式的转换,从而充分利用两个库的功能,实现更加丰富和高效的图像处理效果。

6. 总结

在本篇研究报告中,我们详细探讨了OpenCV库的多个关键方面,从其基本功能到安装方法,再到基础函数的应用以及图像基本运算,最后讨论了图像格式的转换。以下是对这些内容的总结:

6.1 OpenCV简介

  • 定义与功能:OpenCV是一个开源的计算机视觉和机器学习软件库,拥有超过2500个优化算法,涵盖了图像处理、视频分析、特征提取与匹配、机器学习、计算摄影学、三维重建与增强现实等多个领域。

  • 应用领域:其应用广泛,包括人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪、机器人视觉、运动分析、机器视觉、结构分析、汽车安全驾驶等计算机视觉领域,以及图像数据操作、矩阵和向量操作、动态数据结构、基本的GUI功能、图像标注等计算机操作底层技术。

6.2 OpenCV安装方法

  • 直接命令法:通过pip安装opencv-python,简单快捷,但可能面临版本冲突或缺少额外贡献模块的问题。

  • 使用whl文件法:从官网下载对应版本的whl文件后使用pip安装,可精确控制版本,适合需要特定版本或额外功能的用户。

  • Anaconda环境下安装:利用conda或pip在Anaconda环境中安装,便于管理依赖和环境配置,适合数据科学和多环境管理的用户。

6.3 OpenCV基础函数

  • 图像读取与显示:使用cv2.imread()读取图像,cv2.imshow()显示图像,支持多种图像格式和读取模式。

  • 图像保存与复制:通过cv2.imwrite()保存图像,img.copy()复制图像,方便图像的持久化存储和操作备份。

  • 图像颜色空间转换:借助cv2.cvtColor()实现不同颜色空间的转换,如BGR到灰度、HSV等,为图像处理提供灵活性。

6.4 图像基本运算

  • 图像算术运算:包括加法、减法、乘法、除法,用于图像合成、增强、对比度调整等。

  • 图像位运算:涵盖按位与、或、异或、非,适用于图像掩膜、区域提取、差异检测等操作。

6.5 图像格式转换

  • Image.open与cv2.imread区别Image.open返回PIL图像对象,支持RGB格式;cv2.imread返回NumPy数组,采用BGR格式。两者在文件支持格式和读取效率上各有特点。

  • 格式相互转换:提供了PIL到OpenCV和OpenCV到PIL的转换方法,通过颜色空间转换实现格式互转,使用户能够结合两个库的优势进行图像处理。

通过本报告的深入分析,读者可以全面了解OpenCV库的强大功能和应用范围,掌握其安装和使用方法,以及如何通过基础函数和图像运算实现高效的图像处理。同时,对图像格式转换的讨论也为跨库图像处理提供了实用的指导。

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

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

相关文章

码编译安装httpd 2.4,测试

下载链接:https://dlcdn.apache.org/httpd/httpd-2.4.62.tar.gz [rootopenEuler-1 ~]# yum install gcc gcc-c make -y [rootopenEuler-1 ~]# ll /root total 9648 -rw-------. 1 root root 920 Jan 10 17:15 anaconda-ks.cfg -rw-r--r-- 1 root root 9872432…

步入响应式编程篇(一)

响应式编程 为什么要有响应式编程?响应式编程的用法Flow api的用法处理器 为什么要有响应式编程? 传统编码,操作流程常见的是命令式编程范式,如对于一个请求或操作来说,都是串行执行,直到异常或执行结束&a…

C++—18、C++ 中如何写类

一、类的功能阐述 今天我们将用目前学到的类的基础知识从头开始编写一个类。只编写一个基本的Log类,来演示到目前为止我们学过的一些基本特性。随着接下来的学习你会看到从一个类的基本版本到一个更高级版本的过程和区别。高级版本可以做同样的事情,但可…

SW - 查看装配图中的零件的全路径名称

文章目录 SW - 查看装配图中的零件的全路径名称概述笔记END SW - 查看装配图中的零件的全路径名称 概述 装配图中,如果本机有多个不同版本的同名零件(e.g. v1/p1零件, v2/p1零件),在装配图中想确认是哪个版本的零件。 如果编辑错了文件,或者…

【开源分享】nlohmann C++ JSON解析库

文章目录 1. Nlohmann JSON 库介绍2. 编译和使用2.1 获取库2.2 包含头文件2.3 使用示例2.4 编译 3. 优势4. 缺点5. 总结参考 1. Nlohmann JSON 库介绍 Nlohmann JSON 是一个用于 C 的现代 JSON 库,由 Niels Lohmann 开发。它以易用性和高性能著称,支持 …

神经网络基础-正则化方法

文章目录 1. 什么是正则化2. 正则化方法2.1 Dropout正则化2.2 批量归一化(BN层) 学习目标: 知道正则化的作用掌握随机失活 DropOut 策略知道 BN 层的作用 1. 什么是正则化 在设计机器学习算法时希望在新样本上的泛化能力强。许多机器学习算法都采用相关的策略来减小…

【C++】面试题整理(未完待续)

【C】面试题整理 文章目录 一、概述二、C基础2.1 - 指针在 32 位和 64 位系统中的长度2.2 - 数组和指针2.3 - 结构体对齐补齐2.4 - 头文件包含2.5 - 堆和栈的区别2.6 - 宏函数比较两个数值的大小2.7 - 冒泡排序2.8 - 菱形继承的内存布局2.9 - 继承重写2.10 - 如何禁止类在栈上分…

ASP.NET Core - 依赖注入(四)

ASP.NET Core - 依赖注入(四) 4. ASP.NET Core默认服务5. 依赖注入配置变形 4. ASP.NET Core默认服务 之前讲了中间件,实际上一个中间件要正常进行工作,通常需要许多的服务配合进行,而中间件中的服务自然也是通过 Ioc…

w~Transformer~合集11

我自己的原文哦~ https://blog.51cto.com/whaosoft/12472192 #LightSeq 最高加速9倍!字节跳动开源8比特混合精度Transformer引擎,近年来,Transformer 已经成为了 NLP 和 CV 等领域的主流模型,但庞大的模型参数限制了它的高效训练和推理。…

海云安开发者安全智能助手D10荣膺 “ AI标杆产品 ” 称号,首席科学家齐大伟博士入选2024年度 “ 十大杰出青年 ”

2024年12月27日,粤港澳大湾区AI领袖峰会在深圳成功举办,大会表彰了在人工智能技术创新、应用实践和产业发展等方面取得优异成绩的企业和个人,深圳海云安网络安全技术有限公司开发者安全智能助手D10荣膺“AI标杆产品”称号。同时,公…

Autodl转发端口,在本地机器上运行Autodl服务器中的ipynb文件

通过 SSH 隧道将远程端口转发到本地机器 输入服务器示例的SSH指令和密码,将远程的6006端口代理到本地 在服务器终端,激活conda虚拟环境 conda activate posecnnexport PYOPENGL_PLATFORMegljupyter notebook --no-browser --port6006 --allow-root从…

网站建设公司哪家好?我的避坑指南

公司刚成立那个时候,第一步就是想着抓紧做一个官网,因为一个好的网站可以通过互联网源源不断的带来客流,所以小公司业务最重要,我就赶紧在网上开始找公司。 网站是的大活,对于我这种什么都不会的,当然只能…

浅谈云计算15 | 存储可靠性技术(RAID)

存储可靠性技术 一、存储可靠性需求1.1 数据完整性1.2 数据可用性1.3 故障容错性 二、传统RAID技术剖析2.1 RAID 02.2 RAID 12.3 RAID 52.4 RAID 62.5 RAID 10 三、RAID 2.0技术3.1 RAID 2.0技术原理3.1.1 两层虚拟化管理模式3.1.2 数据分布与重构 3.2 RAID 2.0技术优势3.2.1 自…

qml RadialGradient详解

1、概述 RadialGradient是QML中用于创建径向渐变效果的一种类型。它允许您定义从中心向外辐射的颜色渐变,可以应用于各种QML可视组件上,如Rectangle、Image等,以创建出丰富的视觉效果。 2、重要属性 angle:定义渐变围绕其中心点…

链表 -- 反转链表,k个一组翻转链表,两两交换链表中结点

目录 反转链表 题目 ​编辑 分析 代码 k个一组翻转链表 题目 分析 代码 两两交换链表中的结点 题目 ​编辑 分析 代码 反转链表 题目 分析 反转过程: newhead作为遍历指针,最终停在尾结点上prev保存上一个结点,通过改变newhead和prev的连接来实现反转(核心)通过ne…

mac配置 iTerm2 使用lrzsz与服务器传输文件

mac配置 1. 安装支持rz和sz命令的lrzsz brew install lrzsz2. 下载iterm2-send-zmodem.sh和iterm2-recv-zmodem.sh两个脚本 # 克隆仓库 git clone https://github.com/aikuyun/iterm2-zmodem ~/iterm2-zmodem# 进入到仓库目录 cd ~/iterm2-zmodem# 设置脚本文件可执行权限 c…

统计学习算法——决策树

内容来自B站Up主:风中摇曳的小萝卜https://www.bilibili.com/video/BV1ar4y137GD,仅为个人学习所用。 问题引入 有15位客户向某银行申请贷款,下面是他们的一些基本信息,类别列表示是否通过贷款申请,是表示通过贷款申…

疫苗预约小程序ssm+论文源码调试讲解

第4章 系统设计 一个成功设计的系统在内容上必定是丰富的,在系统外观或系统功能上必定是对用户友好的。所以为了提升系统的价值,吸引更多的访问者访问系统,以及让来访用户可以花费更多时间停留在系统上,则表明该系统设计得比较专…

物联网网关Web服务器--lighttpd服务器部署与应用测试

以下是在国产ARM处理器E2000飞腾派开发板上部署 lighttpd 并进行 CGI 应用开发的步骤: 1、lighttpd简介 Lighttpd 是一款轻量级的开源 Web 服务器软件,具有以下特点和功能: 特点 轻量级:Lighttpd 在设计上注重轻量级和高效性&a…

Linux的常用命令(三)

目录 六、网络通信命令 1.网络通信命令ping 2.网络通信命令ifconfig 七、系统命令 1. 系统命令shutdown 2. 系统命令reboot 八、vi编辑器 六、网络通信命令 1.网络通信命令ping 命令名称:ping 命令所在路径:/usr/sbin/ping 执行权限&#xff…