0

0

OpenCV与Python:人脸识别技术快速入门与实战指南

花韻仙語

花韻仙語

发布时间:2025-12-31 10:32:29

|

617人浏览过

|

来源于php中文网

原创

随着人工智能技术的飞速发展,人脸识别技术已广泛应用于安全监控、身份验证、人机交互等多个领域。OpenCV(开源计算机视觉库),作为一个强大的图像处理和计算机视觉库,结合Python语言的简洁性和易用性,为开发者提供了便捷高效的人脸识别解决方案。 本文将带您快速入门OpenCV与Python的人脸识别技术,从环境搭建到代码实现,一步步地掌握这项技能。 本文深入浅出地讲解了人脸识别的核心概念与技术细节,并辅以实战代码示例,帮助您在Python环境中利用OpenCV快速构建人脸识别应用。无论您是初学者还是有一定经验的开发者,都能从中受益,掌握人脸识别的关键技术,并能灵活应用于实际项目中。通过阅读本文,您将能够理解Haar级联分类器的工作原理,学会如何加载预训练模型,并在图像和视频中实现人脸检测。

关键要点

安装OpenCV Python环境:使用pip轻松安装OpenCV。

Haar级联分类器原理:理解基于机器学习的人脸检测方法。

加载预训练模型:利用OpenCV自带的XML文件进行人脸识别。

图像与视频人脸检测:掌握在静态图像和动态视频中进行人脸识别的技术。

代码实现步骤:从导入库到结果展示,清晰的代码流程。

参数调优技巧:了解影响人脸识别效果的关键参数。

OpenCV与Python人脸识别技术详解

人脸识别技术概述

人脸识别是一种生物识别技术,通过分析人脸图像或视频中的特征信息来识别个体身份。该技术的核心在于提取人脸的独特特征,并与已知人脸数据库进行比对。人脸识别技术经历了漫长的发展历程,从最初的手动特征提取到如今基于深度学习的自动特征提取,其精度和效率都得到了极大的提升。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

OpenCV与Python:人脸识别技术快速入门与实战指南

OpenCV是一个开源的计算机视觉库,提供了丰富的图像处理和计算机视觉算法,包括人脸检测、人脸识别、目标跟踪等功能。Python则是一种流行的编程语言,以其简洁的语法和丰富的第三方库而备受开发者青睐。OpenCV与Python的结合,使得开发者能够快速构建各种计算机视觉应用,其中包括人脸识别系统。

人脸识别技术的应用场景非常广泛,例如:

  • 安全监控:在公共场所、机场、火车站等重要场所进行人脸识别,可以有效提升安全防范能力。
  • 身份验证:在移动支付、门禁系统、银行ATM等场景进行人脸识别,可以提高身份验证的安全性。
  • 人机交互:在智能家居、机器人等领域进行人脸识别,可以实现更加自然和智能的人机交互。
  • 社交娱乐:在社交媒体、图像编辑等应用中进行人脸识别,可以实现更加个性化的用户体验。

OpenCV Python环境搭建

在开始人脸识别之旅之前,我们需要先搭建好OpenCV Python开发环境。

立即学习Python免费学习笔记(深入)”;

OpenCV与Python:人脸识别技术快速入门与实战指南

以下是具体的步骤:

  1. 安装Python:如果您的计算机上尚未安装Python,请前往Python官网下载并安装最新版本的Python。

    • 确保安装时勾选“Add Python to PATH”选项,将Python添加到系统环境变量中,方便在命令行中使用Python。
  2. 安装OpenCV:在命令行中使用pip命令安装OpenCV Python库:

    pip install opencv-python
    • 如果您的网络环境较差,可以使用国内镜像源加速下载:

      pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
  3. 验证安装:在Python解释器中导入cv2模块,如果没有报错,则说明OpenCV安装成功:

    import cv2
    print(cv2.__version__)
    • 运行以上代码,如果能够正确输出OpenCV的版本号,则说明安装成功。

注意:

  • 建议使用虚拟环境进行开发,以隔离不同项目之间的依赖关系。
  • 如果遇到任何安装问题,请参考OpenCV官方文档或搜索相关解决方案。

Haar级联分类器:人脸检测的核心

Haar级联分类器是一种基于机器学习的人脸检测方法,由Paul Viola和Michael Jones在2001年提出。该方法通过训练一系列Haar特征,构建一个级联分类器,用于快速准确地检测图像中的人脸。

OpenCV与Python:人脸识别技术快速入门与实战指南

OpenCV中已经包含了许多预训练的Haar级联分类器,可以直接用于人脸检测。

Haar特征是一种用于描述图像局部区域的特征,类似于卷积神经网络中的卷积核。常见的Haar特征包括:

  • 边缘特征:用于检测图像中的边缘信息。
  • 线性特征:用于检测图像中的线性结构。
  • 中心环绕特征:用于检测图像中的中心环绕结构。

级联分类器则是由多个弱分类器组成的强分类器。每个弱分类器都是一个简单的决策树,用于判断图像区域是否包含人脸。级联分类器的特点在于,它能够快速排除大量的非人脸区域,从而提高人脸检测的效率。

Haar级联分类器的工作原理如下:

  1. 图像扫描:在图像中滑动一个固定大小的窗口,用于扫描图像中的各个区域。
  2. 特征提取:在每个窗口中提取Haar特征。
  3. 级联分类:将提取的Haar特征输入到级联分类器中进行判断。

    • 如果某个窗口通过了所有弱分类器的判断,则认为该窗口包含人脸。
    • 如果某个窗口在任何一个弱分类器中被排除,则认为该窗口不包含人脸。

注意:

  • Haar级联分类器的精度和效率受到训练数据的影响。
  • 可以使用不同的Haar级联分类器来检测不同类型的人脸,例如正面人脸、侧面人脸等。

加载预训练模型:OpenCV人脸检测的关键

OpenCV已经包含了许多预训练的Haar级联分类器,这些分类器都是以XML文件的形式存储的。在使用Haar级联分类器进行人脸检测之前,需要先加载这些预训练模型。

OpenCV与Python:人脸识别技术快速入门与实战指南

以下是如何加载预训练模型的代码示例:

import cv2

# 加载Haar级联分类器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 打印分类器类型
print(type(face_cascade))
  • cv2.CascadeClassifier()函数用于加载Haar级联分类器。
  • haarcascade_frontalface_default.xml是一个用于检测正面人脸的预训练模型。OpenCV安装目录下的data/haarcascades目录中包含了许多其他的预训练模型,可以根据需要选择使用。

注意:

  • 确保预训练模型文件的路径正确。
  • 如果预训练模型文件不存在,请从OpenCV官方网站下载。

静态图像人脸检测:代码实现与分析

加载预训练模型之后,就可以在静态图像中进行人脸检测了。 以下是具体的代码示例:

import cv2

# 加载Haar级联分类器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 读取图像
img = cv2.imread('test.jpg')

# 将图像转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 人脸检测
faces = face_cascade.detectMultiScale(gray, 1.1, 4)

# 在图像中标记人脸
for (x, y, w, h) in faces:
    cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)

# 显示结果图像
cv2.imshow('img', img)
cv2.waitKey()
  • cv2.imread()函数用于读取图像。
  • cv2.cvtColor()函数用于将图像转换为灰度图像。Haar级联分类器只能在灰度图像上进行人脸检测
  • face_cascade.detectMultiScale()函数用于检测图像中的人脸。该函数返回一个包含人脸位置信息的矩形列表。
  • cv2.rectangle()函数用于在图像中标记人脸。该函数在图像中绘制一个矩形,用于标记人脸的位置。
  • cv2.imshow()函数用于显示结果图像。
  • cv2.waitKey()函数用于等待用户按下键盘上的任意键,然后关闭窗口。

代码分析:

  1. 加载图像:首先,使用cv2.imread()函数加载需要进行人脸检测的图像。test.jpg是图像文件的路径,需要确保该文件存在。

  2. 灰度转换:使用cv2.cvtColor()函数将彩色图像转换为灰度图像。这是因为Haar级联分类器只能在灰度图像上工作,灰度图像能够简化计算,提高检测效率。

  3. 人脸检测:使用face_cascade.detectMultiScale()函数进行人脸检测。这个函数是人脸检测的核心,它会在灰度图像中搜索人脸,并返回检测到的人脸的矩形区域。该函数有三个主要的参数:

    • gray:输入的灰度图像。

    • scaleFactor:图像缩放因子。用于在不同尺寸下搜索人脸。值越大,搜索速度越快,但可能会漏检较小的人脸。

      OpenCV与Python:人脸识别技术快速入门与实战指南

    • minNeighbors:每个人脸矩形保留近邻数目的最小值。这个参数用于过滤掉一些误检,值越大,检测结果越准确,但可能会漏检一些人脸。

  4. 标记人脸:使用cv2.rectangle()函数在原始彩色图像上绘制矩形,标记检测到的人脸。(x, y)是矩形左上角的坐标,(x+w, y+h)是矩形右下角的坐标,(255, 0, 0)是矩形的颜色,2是矩形的线条粗细。注意:OpenCV中使用的是BGR颜色空间,而不是RGB颜色空间。

    Red Panda AI
    Red Panda AI

    AI文本生成图像

    下载
  5. 显示图像:使用cv2.imshow()函数显示标记了人脸的图像,便于查看检测结果。

  6. 等待按键:cv2.waitKey()函数使程序暂停,等待用户按下任意键后关闭显示窗口。这样可以保证检测结果能够显示出来,直到用户主动关闭窗口。

动态视频人脸检测:实时捕捉人脸

除了静态图像,人脸识别技术还可以应用于动态视频中。

OpenCV与Python:人脸识别技术快速入门与实战指南

以下是如何在视频中进行人脸检测的代码示例:

import cv2

# 加载Haar级联分类器
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

# 打开摄像头
cap = cv2.VideoCapture(0)

while True:
    # 读取视频帧
    _, img = cap.read()

    # 将图像转换为灰度图像
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    # 人脸检测
    faces = face_cascade.detectMultiScale(gray, 1.1, 4)

    # 在图像中标记人脸
    for (x, y, w, h) in faces:
        cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)

    # 显示结果图像
    cv2.imshow('img', img)

    # 按下ESC键退出
    k = cv2.waitKey(30) & 0xff
    if k==27:
        break

# 释放摄像头资源
cap.release()
cv2.destroyAllWindows()
  • cv2.VideoCapture()函数用于打开摄像头。参数0表示默认摄像头,如果有多个摄像头,可以尝试使用其他数字。

  • cap.read()函数用于读取视频帧。该函数返回两个值:

    • _:一个布尔值,表示是否成功读取了视频帧。
    • img:读取到的视频帧,是一个NumPy数组。
  • cv2.destroyAllWindows()函数用于关闭所有OpenCV窗口。

代码分析:

  1. 打开摄像头: 使用cv2.VideoCapture(0)打开计算机的默认摄像头。如果需要打开特定的视频文件,可以将文件路径作为参数传递给该函数。
  2. 无限循环: 使用while True:创建一个无限循环,不断从摄像头读取视频帧并进行处理。
  3. 读取视频帧: 在循环中使用cap.read()函数读取摄像头的视频帧。该函数返回两个值:一个布尔值表示是否成功读取帧,以及实际的图像数据(以NumPy数组形式表示)。
  4. 灰度转换与人脸检测: 类似于静态图像处理,首先将彩色帧转换为灰度图像,然后使用face_cascade.detectMultiScale()函数检测人脸。
  5. 标记人脸并显示: 在原始彩色帧上使用矩形标记检测到的人脸,并通过cv2.imshow()函数显示结果。
  6. 退出机制: 使用cv2.waitKey(30)等待30毫秒,检查是否有按键按下。如果按下的是ESC键(ASCII码为27),则退出循环。
  7. 资源释放: 循环结束后,使用cap.release()释放摄像头资源,并使用cv2.destroyAllWindows()关闭所有窗口。

注意:

  • 动态视频人脸检测需要消耗大量的计算资源,可能会导致视频播放卡顿。
  • 可以尝试调整scaleFactorminNeighbors参数,以优化人脸检测的效率和精度。
  • 程序运行结束后,务必释放摄像头资源,否则可能会导致其他程序无法使用摄像头。

影响人脸识别效果的关键参数调优

优化人脸识别的关键参数

在使用OpenCV进行人脸识别时,参数的设置直接影响识别的精度和效率。

OpenCV与Python:人脸识别技术快速入门与实战指南

以下是一些关键参数及其调优建议:

  • scaleFactor(图像缩放因子): 用于在不同尺寸下搜索人脸。值越大,搜索速度越快,但可能会漏检较小的人脸。建议的取值范围是1.1-1.3。
  • minNeighbors(最小邻居数): 每个人脸矩形保留近邻数目的最小值。这个参数用于过滤掉一些误检,值越大,检测结果越准确,但可能会漏检一些人脸。建议的取值范围是3-6。
  • minSize(最小尺寸): 设置人脸的最小尺寸,小于这个尺寸的人脸将被忽略。可以根据实际情况调整这个参数,以提高检测效率。
  • maxSize(最大尺寸): 设置人脸的最大尺寸,大于这个尺寸的人脸将被忽略。可以根据实际情况调整这个参数,以提高检测效率。

调优技巧:

  • 根据实际情况调整参数:不同的场景和图像质量,需要使用不同的参数设置。
  • 进行实验:通过实验找到最佳的参数组合。可以先固定其他参数,然后调整某个参数的值,观察检测结果的变化。
  • 使用交叉验证:将数据集分成训练集和测试集,使用训练集训练模型,然后使用测试集评估模型的性能。通过交叉验证,可以更加客观地评估模型的性能。

详细操作步骤

下载Haar Cascade XML文件

首先,你需要从OpenCV的GitHub仓库下载Haar Cascade XML文件。

OpenCV与Python:人脸识别技术快速入门与实战指南

这些文件包含用于检测不同面部特征(如正面脸、眼睛、嘴巴等)的预训练分类器。对于基本的面部检测,haarcascade_frontalface_default.xml是一个常用的选择。将此文件保存在你的Python脚本所在的目录下,或者指定一个绝对路径。 python import cv2 # 加载XML文件 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

准备测试图像或视频

选择一张包含人脸的图像,或者准备一个包含人脸的视频进行测试。

OpenCV与Python:人脸识别技术快速入门与实战指南

确保图像或视频的路径在你的脚本中正确指定。 python # 读取图像 img = cv2.imread('test.jpg')

实现基本的人脸检测

综合以上步骤,以下是一个完成人脸检测的基本Python脚本:

OpenCV与Python:人脸识别技术快速入门与实战指南

python import cv2 # 加载XML文件 face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # 读取图像 img = cv2.imread('test.jpg') # 转换为灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 检测人脸 faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30), flags=cv2.CASCADE_SCALE_IMAGE) # 绘制矩形 for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x+w, y+h), (0, 255, 0), 2) # 显示结果 cv2.imshow('Faces detected', img) cv2.waitKey(0) cv2.destroyAllWindows()

OpenCV的开源特性:成本效益分析

免费使用与商业部署

OpenCV作为一个开源库,最大的优势之一就是其免费使用的特性。无论是个人学习、学术研究,还是商业项目的开发和部署,你都可以免费使用OpenCV,无需支付任何许可费用。

OpenCV与Python:人脸识别技术快速入门与实战指南

这大大降低了开发成本,使得各种规模的项目都能充分利用OpenCV的强大功能。

人脸识别技术优缺点分析

? Pros

实时性强: Haar级联分类器计算速度快,适合实时人脸检测。

易于实现: OpenCV提供了完整的Haar级联分类器API,使用方便。

资源占用少: 相比于深度学习方法,Haar级联分类器资源占用较少。

预训练模型丰富: OpenCV提供了大量预训练的Haar级联分类器,可以直接使用。

? Cons

精度较低: 相比于深度学习方法,Haar级联分类器精度较低。

鲁棒性较差: 对光照、姿态、遮挡等因素敏感。

只能检测特定类型的人脸: 需要使用不同的Haar级联分类器来检测不同类型的人脸。

需要手动选择参数: 需要手动选择合适的scaleFactor和minNeighbors参数。

OpenCV核心功能概览

图像和视频处理

OpenCV提供了广泛的图像和视频处理功能,包括图像滤波、边缘检测、色彩空间转换、形态学操作、视频捕获和编码等。

OpenCV与Python:人脸识别技术快速入门与实战指南

这些功能构成了计算机视觉任务的基础,允许开发者进行各种图像增强、分析和处理。 图像滤波:用于减少图像噪声,平滑图像。 边缘检测:用于识别图像中对象边界。 色彩空间转换:用于在不同色彩空间之间转换,例如RGB、HSV、灰度等。 视频捕获和编码:用于从摄像头或视频文件读取视频流,并将处理后的视频流编码为不同的视频格式。

目标检测与识别

除了基本的图像处理功能外,OpenCV还包含了强大的目标检测和识别算法。 例如,Haar级联分类器可以用于人脸检测,HOG(方向梯度直方图)描述符可以用于行人检测,而各种机器学习算法(如SVM、Boosting等)可以用于训练自定义的目标检测器。 Haar级联分类器:用于快速检测图像中的人脸。 HOG描述符:用于描述图像中对象的形状和外观。 机器学习算法:用于训练自定义的目标检测器。

三维重建

OpenCV还支持三维重建技术,通过分析多张图像或视频流,可以重建出场景的三维结构。

OpenCV与Python:人脸识别技术快速入门与实战指南

这项技术在机器人导航、虚拟现实、增强现实等领域有着广泛的应用。 相机标定:用于获取相机的内部参数和外部参数。 立体视觉:用于从两张图像中计算出场景的深度信息。 运动结构恢复(SFM):用于从视频流中重建出场景的三维结构。

OpenCV Python人脸识别典型应用场景

安全监控系统

在安全监控系统中,可以使用OpenCV Python人脸识别技术进行实时人脸检测身份验证。通过将检测到的人脸与预先注册的人脸数据库进行比对,可以实现自动报警人员追踪等功能。例如,可以在银行ATM机上安装人脸识别系统,用于防止银行卡盗刷等犯罪行为。

门禁系统

在门禁系统中,可以使用OpenCV Python人脸识别技术进行无接触式身份验证。用户只需站在摄像头前,系统即可自动识别用户身份,并根据权限决定是否允许进入。这种方式不仅方便快捷,而且更加安全可靠。

人机交互

在人机交互领域,可以使用OpenCV Python人脸识别技术实现更加自然和智能的交互方式。例如,在智能家居系统中,可以通过人脸识别技术自动识别用户身份,并根据用户的喜好自动调节灯光、温度等设置。在机器人领域,可以通过人脸识别技术实现人脸追踪情感识别等功能。

常见问题解答

OpenCV Python人脸识别的精度如何?

OpenCV Python人脸识别的精度取决于所使用的算法和训练数据。 Haar级联分类器是一种经典的算法,但精度相对较低。近年来,基于深度学习的人脸识别算法取得了显著的进展,精度更高,但计算复杂度也更高。

OpenCV Python人脸识别的速度如何?

OpenCV Python人脸识别的速度取决于所使用的算法和硬件设备。 Haar级联分类器计算速度快,适合实时应用。基于深度学习的人脸识别算法计算量大,速度较慢,需要使用GPU加速。

如何提高OpenCV Python人脸识别的精度?

提高OpenCV Python人脸识别的精度可以从以下几个方面入手: 使用更好的算法: 可以尝试使用基于深度学习的人脸识别算法,例如FaceNet、OpenFace等。 增加训练数据: 训练数据越多,模型的效果越好。可以使用更大规模的人脸数据集进行训练。 进行数据增强: 通过对训练数据进行旋转、缩放、平移等操作,可以增加训练数据的多样性,提高模型的泛化能力。 调整参数: 可以尝试调整算法的参数,以优化模型的性能。

相关问题解答

OpenCV的Haar级联分类器是如何工作的?

Haar级联分类器是一种基于机器学习的目标检测方法,特别适用于实时应用。 它通过以下几个关键步骤工作: Haar特征提取: Haar特征是一系列类似于卷积核的矩形滤波器,用于检测图像中不同区域的灰度差异。这些特征包括边缘、线性、中心环绕等模式。 算法在图像的各个位置和尺度上应用这些特征,计算每个特征的响应值。 积分图像: 为了高效地计算Haar特征,Viola-Jones算法引入了积分图像的概念。积分图像允许在常数时间内计算任何矩形区域内的像素之和,大大提高了特征计算的速度。 Adaboost训练: Adaboost(Adaptive Boosting)是一种机器学习算法,用于从大量的Haar特征中选择最具区分性的特征,并训练弱分类器。每个弱分类器基于一个选定的Haar特征,判断图像区域是否包含目标(例如人脸)。 级联结构: 级联分类器由多个阶段组成,每个阶段包含若干个弱分类器。这些阶段按照复杂度和计算量递增的顺序排列。 当一个图像区域通过了所有阶段的测试时,才被认为是目标(例如人脸)。如果任何一个阶段的测试失败,该区域就被立即排除,从而大大减少了计算量。 人脸检测过程: 图像扫描:在待检测图像上,以不同的尺度滑动检测窗口。 特征计算:在每个窗口内计算Haar特征。 级联分类:将计算出的特征输入到级联分类器中,逐个阶段进行判断。 如果窗口通过了所有阶段,则判定该窗口包含人脸。 优势与局限性: Haar级联分类器的主要优势在于其计算效率,使其适用于实时应用。然而,由于其特征表达能力有限,对于复杂场景和变化较大的目标,检测精度可能不高。 总的来说,Haar级联分类器通过高效的特征提取和级联结构,实现了快速且相对准确的目标检测。

相关专题

更多
python开发工具
python开发工具

php中文网为大家提供各种python开发工具,好的开发工具,可帮助开发者攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。php中文网还为大家带来python相关课程以及相关文章等内容,供大家免费下载使用。

715

2023.06.15

python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

625

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

739

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

617

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

1235

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

547

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

575

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

698

2023.08.11

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 0.6万人学习

Django 教程
Django 教程

共28课时 | 2.6万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.0万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号