《QT 5.14.1 搭建 opencv 环境全攻略》

《QT 5.14.1 搭建 opencv 环境全攻略》

  • 一、引言
  • 二、准备工作
    • (一)软件下载
    • (二)系统环境确认
  • 三、安装 QT 5.14.1
    • (一)安装包下载与运行
    • (二)环境变量配置
  • 四、OpenCV 安装与配置
    • (一)下载与解压
    • (二)使用 CMake 生成项目文件
    • (三)编译与安装
  • 五、在 QT 项目中配置 OpenCV
    • (一)创建 QT 项目
    • (二)项目文件.pro 配置
  • 六、测试环境搭建是否成功
  • 七、常见问题与解决方法
  • 八、总结与展望

一、引言

在当今数字化飞速发展的时代,计算机视觉技术的应用日益广泛,已然成为众多领域中不可或缺的一部分。而 OpenCV 作为一个开源的计算机视觉和机器学习软件库,更是发挥着举足轻重的作用。它涵盖了图像处理、特征提取、目标检测、运动分析、人脸识别等极为广泛的功能,从最基本的读写图片、降噪滤波、边缘检测,到复杂的行人检测、人脸识别、文本识别等,都能轻松应对。例如在视频监控领域,OpenCV 可通过识别和分析视频中的运动信息,实现实时预警、跟踪目标,提高监控系统的智能化水平;在人机交互方面,其人脸识别功能助力实现人脸解锁、智能语音助手等便捷方式;自动驾驶领域中,也依靠它的目标检测和运动分析功能保障行驶的安全与高效;甚至在医学影像分析上,能帮助医生更准确高效地诊断病情。
与此同时,QT 作为跨平台的 C++ 图形用户界面库,有着丰富的控件库以及高效的信号槽机制等诸多优势,能够帮助开发者打造出美观且易用的界面,让用户交互变得更加便捷高效。
当我们把 OpenCV 和 QT 5.14.1 结合起来时,更是能碰撞出奇妙的火花。OpenCV 负责强大的底层算法运算,QT 5.14.1 则完成上层的应用接口搭建,二者相辅相成,不仅可以简化开发流程,还能提升开发效率,拓展应用的功能与适用范围。然而,要想充分发挥它们结合的优势,首先就需要搭建好对应的开发环境。接下来,我们就详细地介绍一下 QT 5.14.1 搭建 OpenCV 环境的具体步骤,帮助大家顺利迈出开发的第一步,开启计算机视觉应用开发的精彩之旅。

二、准备工作

(一)软件下载

  • QT 5.14.1:可以从 QT
    官方网站(https://download.qt.io/archive/qt/5.14.1/)下载对应版本的安装包,根据操作系统选择合适的版本,如 Windows 系统下的 qt-opensource-windows-x86-5.14.1.exe。
  • OpenCV:推荐使用 OpenCV 4.0 及以上版本,以获取更好的性能和更多的功能支持。从 OpenCV 官方网站(https://opencv.org/releases/)下载相应版本的源代码或预编译库,例如
    opencv-4.5.0-vc14_vc15.exe(适用于 Windows 且与 Visual Studio 编译器兼容)。
  • CMake:这是一个跨平台的安装工具,用于构建 OpenCV 库。可从 CMake 官方网站(https://cmake.org/download/)下载,如 cmake-3.20.0-win64-x64.msi(Windows 64 位版本)。

(二)系统环境确认

  • 操作系统:确保使用的是 Windows 7 及以上版本,建议使用 Windows 10,以保证系统的稳定性和兼容性。
  • 硬件配置:处理器建议选用 Intel Core i5 及以上,内存至少 4GB(推荐 8GB 或更高),硬盘空间需预留足够空间用于安装 QT、OpenCV 及相关工具,建议至少 10GB 以上可用空间,显卡最好支持 OpenGL 3.0 及以上版本,以确保良好的图形处理性能。

三、安装 QT 5.14.1

(一)安装包下载与运行

  • 首先,从 QT 官方网站(https://download.qt.io/archive/qt/5.14.1/)下载 QT 5.14.1
    的安装包,根据您的操作系统选择合适的版本,如 Windows 系统下的 “qt-opensource-windows-x86-5.14.1.exe”。
  • 下载完成后,双击运行安装包,进入安装向导。在安装过程中,您需要按照提示逐步操作:
    • 登录:如果您已有 QT 账号,可以登录;若没有账号,也可以选择跳过此步骤(在安装时断网可自动跳过登录步骤)。
    • 选择同意许可协议,点击 “Next”。
    • 选择安装目录:建议选择一个磁盘空间充足的位置,安装过程大约需要 3.2G 的空间。例如,您可以选择 “D:\Qt\5.14.1” 作为安装目录(具体路径可根据您的实际情况调整)。
    • 选择组件:这一步非常重要,建议至少勾选 “Qt Creator”(这是 QT 的集成开发环境,方便后续开发)、“MSVC 2017 64-bit”(如果您的系统是 64 位且使用 Visual Studio 编译器)以及 “Qt Charts”“Qt Multimedia” 等常用组件,以满足不同的开发需求。当然,如果您不确定具体需要哪些组件,可以先选择默认的全部安装,后续也可以通过维护工具进行组件的添加或删除。
    • 点击 “Install” 开始安装,等待安装过程完成。

(二)环境变量配置

  • 安装完成后,需要将 QT 的相关路径添加到系统环境变量中,以便系统能够识别 QT 的命令和工具。以下是具体步骤:
    • 在 Windows 系统中,右键点击 “此电脑”,选择 “属性”。
    • 在弹出的窗口中,点击 “高级系统设置”。
    • 在 “系统属性” 窗口的 “高级” 选项卡下,点击 “环境变量” 按钮。
    • 在 “系统变量” 列表中,找到 “Path” 变量,点击 “编辑”。
    • 在 “编辑环境变量” 窗口中,点击 “新建”,将 QT 的安装目录下的 “bin” 文件夹路径添加进去,例如 “D:\Qt\5.14.1\mingw73_64\bin”(如果您使用的是 MinGW 编译器)或
      “D:\Qt\5.14.1\msvc2017_64\bin”(如果您使用的是 MSVC 编译器)。注意,这里的路径要根据您实际的安装情况进行填写。
    • 依次点击 “确定” 关闭各个窗口,完成环境变量的配置。

配置完成后,您可以在命令提示符(CMD)中输入 “qmake -v” 命令来验证 QT 是否安装成功。如果成功安装,将显示 QT 的版本信息等相关内容,这表明您的系统已经能够正确识别 QT 的命令,为后续的开发工作做好了准备。

四、OpenCV 安装与配置

(一)下载与解压

  • 前往 OpenCV 官方网站(https://opencv.org/releases/),依据系统及开发需求挑选合适版本的 OpenCV 进行下载,如 Windows 系统可选择 “opencv-4.5.0-vc14_vc15.exe”(此版本适用于与 Visual Studio 编译器配合使用)。
  • 下载完成后,运行安装程序,在安装过程中,可将 OpenCV 解压至指定目录,例如 “D:\OpenCV\4.5.0”,以便后续操作中能便捷地找到相关文件。

(二)使用 CMake 生成项目文件

  • 打开 CMake 软件,在 “Where is the source code” 一栏中选定 OpenCV 的源文件目录,即之前解压的 OpenCV 文件夹下的 “sources” 目录,例如 “D:\OpenCV\4.5.0\sources”。
  • 在 “Where to build the binaries” 处指定一个用于存放编译后文件及中间文件的目录,建议新建一个文件夹,如 “D:\OpenCV\4.5.0\build”。
  • 点击 “Configure” 按钮,此时会弹出一个对话框,根据您的编译器类型进行选择,如使用 Visual Studio 2019,可选择 “Visual Studio 16 2019”,并依据系统架构选择 “x64” 或 “x86”,然后点击 “Finish”。CMake 开始进行配置过程,这可能需要一些时间,期间可能会出现一些红色的错误提示,这是因为某些依赖项未找到或配置不正确。
  • 配置完成后,在 CMake 的界面中,找到 “BUILD_opencv_world” 选项并勾选,它会将 OpenCV 的各个模块编译成一个单独的库文件,方便后续使用。再次点击 “Configure”,等待配置完成,直到界面中不再出现红色错误提示。
  • 最后,点击 “Generate” 按钮,生成用于编译 OpenCV 的项目文件,成功后即可关闭 CMake。

(三)编译与安装

  • 使用 Visual Studio 或其他您选择的编译器打开之前由 CMake 生成的项目文件,通常位于
    “D:\OpenCV\4.5.0\build” 目录下,找到对应的解决方案文件(.sln)并双击打开。
  • 在编译器中,将编译模式调整为 “Release”(如果您需要发布版本的库文件;如果是用于调试,则选择 “Debug” 模式),然后选择 “生成” 菜单中的 “生成解决方案” 选项,开始编译 OpenCV 库文件。编译过程可能会持续较长时间,具体时长取决于您的计算机性能。
  • 编译成功后,找到 “INSTALL” 项目(通常在解决方案资源管理器中),右键点击并选择 “生成”,这将把编译好的 OpenCV 库文件、头文件以及其他相关文件安装到指定的目录下,默认安装目录为 “D:\OpenCV\4.5.0\install”(如果在 CMake 配置过程中未修改安装路径)。

至此,OpenCV 已成功安装并配置完成,接下来就可以在 QT 5.14.1 项目中使用 OpenCV 库进行开发了。

五、在 QT 项目中配置 OpenCV

(一)创建 QT 项目

  • 打开 QT Creator,点击 “File” 菜单,选择 “New File or Project” 选项,弹出新建项目向导。
  • 在向导中,选择 “Qt Widgets Application”(这是一个常用的基于部件的窗体 界面程序模板),点击 “Choose” 按钮。
  • 接着,为项目命名(例如 “OpenCV_QT_Project”)并选择项目保存的位置(建议选择一个无中文、无空格且容易找到的路径),然后点击 “Next”。
  • 在 “Kit Selection” 页面,确保选择了之前安装的 QT 5.14.1 版本对应的编译器(如 “Desktop Qt 5.14.1 MinGW 64-bit”),点击 “Next”。
  • 在 “Class Information” 页面,保持默认的基类(如 “QMainWindow”),点击 “Next”,然后点击 “Finish” 完成项目创建。此时,QT Creator 会生成一个基础的项目结构,包括.pro 文件、源文件(.cpp)、头文件(.h)和界面文件(.ui)等。

(二)项目文件.pro 配置

  • 在 QT Creator 的项目视图中,找到并双击打开项目的.pro 文件,在文件末尾添加以下几行代码:
# 添加OpenCV的头文件路径
INCLUDEPATH += D:/OpenCV/4.5.0/install/include
INCLUDEPATH += D:/OpenCV/4.5.0/install/include/opencv2# 添加OpenCV的库文件路径(根据实际安装路径和编译模式进行调整)
win32:CONFIG(release, debug|release):{LIBS += -LD:/OpenCV/4.5.0/install/x64/mingw/lib/LIBS += -lopencv_world450
}
else:win32:CONFIG(debug, debug|release):{LIBS += -LD:/OpenCV/4.5.0/install/x64/mingw/lib/LIBS += -lopencv_world450d
}
  • 上述代码中,INCLUDEPATH 用于指定 QT 项目寻找 OpenCV 头文件的路径,确保项目能够找到 opencv.hpp 等头文件,从而正确识别和使用 OpenCV 的函数和数据结构。LIBS 则用于指定 OpenCV 库文件的路径和需要链接的库文件名,-L 表示库文件的路径,-l 表示要链接的库文件,这里的 opencv_world450(或 opencv_world450d,d 表示 debug 版本)是在 OpenCV 编译过程中生成的库文件名,它包含了 OpenCV 的各个模块,方便在项目中进行链接和使用。注意,路径中的 D:/OpenCV/4.5.0/install 应根据您实际的 penCV 安装路径进行修改,如果您使用的是其他版本的 OpenCV 或者安装路径不同,都需要相应地调整这些路径。

完成上述配置后,QT 项目就能够成功找到并使用 OpenCV 库了,接下来就可以在项目中编写代码,调用 OpenCV 的强大功能来实现各种计算机视觉任务,如图像处理、目标检测、特征提取等。例如,可以在 main.cpp 文件中添加以下代码来测试 OpenCV 是否配置成功:

#include <QApplication>
#include <opencv2/opencv.hpp>int main(int argc, char *argv[])
{QApplication a(argc, argv);// 读取一张图片(请确保路径正确)cv::Mat img = cv::imread("D:/test_image.jpg");if (img.empty()){return -1;}// 显示图片(这里使用 OpenCV 的 imshow 函数,实际应用中可将图片转换为 QT 可显示的格式进行显示)cv::imshow("Image", img);cv::waitKey(0);return a.exec();
}

这段代码使用 OpenCV 的 imread 函数读取一张图片,如果图片读取成功,则使用 imshow 函数显示该图片,并通过 waitKey 函数等待用户按键关闭窗口。如果程序能够成功运行并显示出图片,说明 QT 项目中 OpenCV 的配置已经成功,您可以继续在项目中深入开发各种计算机视觉应用。

六、测试环境搭建是否成功

以下提供一段简单的代码示例,用于测试 OpenCV 环境是否在 QT 项目中成功搭建:

#include <QApplication>
#include <opencv2/opencv.hpp>int main(int argc, char *argv[])
{QApplication a(argc, argv);// 读取一张图片(请确保路径正确)cv::Mat img = cv::imread("D:/test_image.jpg");if (img.empty()){return -1;}// 显示图片(这里使用OpenCV的imshow函数,实际应用中可将图片转换为QT可显示的格式进行显示)cv::imshow("Image", img);cv::waitKey(0);return a.exec();
}

在上述代码中,首先使用cv::imread函数尝试读取一张指定路径下的图片。如果图片读取成功,即img不为空,接着使用cv::imshow函数将图片显示出来,并通过cv::waitKey(0)等待用户按键操作,防止窗口一闪而过。若程序能够顺利运行并弹出显示图片的窗口,就表明 OpenCV 环境在 QT 项目中已经成功搭建,开发者可以在此基础上进一步利用 OpenCV 的丰富功能进行更复杂的计算机视觉任务开发,比如图像的滤波、特征提取、目标检测等;若程序运行出错,无法显示图片,则需要仔细检查之前的 OpenCV 安装和 QT 项目配置步骤,查看是否存在路径设置错误、库文件链接失败等问题。

七、常见问题与解决方法

在 QT 5.14.1 搭建 OpenCV 环境的过程中,可能会遇到各种各样的问题,以下是一些常见问题及其解决方法:

  • 编译错误
    • “undefined reference to…”:这类错误通常是由于库文件链接不正确导致的。首先检查项目的.pro 文件中,OpenCV 库文件的路径和名称是否正确设置。确保LIBS变量中的路径与实际的 OpenCV 库文件路径一致,并且库文件名没有拼写错误。例如,如果在LIBS中写的是-opencv_world450,但实际安装的是opencv_world451,就会出现这种错误。此时,需要将LIBS中的库文件名修改为正确的版本号。
    • “fatal error: opencv2/opencv.hpp: No such file or directory”:这表明编译器无法找到OpenCV 的头文件。需要检查INCLUDEPATH变量中是否正确设置了 OpenCV 头文件的路径。如果路径中存在中文、空格或者拼写错误,都可能导致编译器无法找到头文件。确保路径指向 OpenCV 安装目录下的include文件夹,并且该文件夹中包含opencv2文件夹和opencv.hpp等头文件。
  • 链接错误
    • error: file not recognized: File format not recognized”:此错误一般是因为penCV 编译文件版本和 QT 项目版本不匹配造成的。比如,如果 OpenCV 是用 64 位编译器编译的,而 QT 项目选择了 32 位编译器,就会出现这种情况。此时,需要确保 OpenCV 和 QT 项目的编译器版本一致,即如果 OpenCV 是 64 位的,QT 项目也应选择 64 位的编译器(如 “Desktop Qt 5.14.1 MinGW 64-bit”)。
  • 环境变量问题
    • 程序运行时提示找不到 dll 文件”:这可能是因为没有将 OpenCV 的bin目录添加到系统环境变量中,或者添加后没有重新启动计算机使环境变量生效。解决方法是将 OpenCV 安装目录下的bin文件夹路径(例如 “D:\OpenCV\4.5.0\install\x64\mingw\bin”)添加到系统环境变量的 “Path” 变量中,然后重新启动计算机。
    • 在 CMake 配置过程中出现关于 Python 路径的错误”:如果在 CMake 配置 OpenCV 时,出现与 Python 相关的错误,可能是因为 Python 的安装路径中含有中文。建议卸载ython,重新安装到一个无中文的路径下,并确保在安装过程中勾选了 “Add Python to PATH” 选项,将 Python 添加到系统环境变量中。

如果在搭建过程中遇到其他问题,可以仔细查看编译器的错误提示信息,通常这些信息会给出一些线索,帮助定位问题所在。同时,也可以在相关的技术论坛(如 Stack Overflow、CSDN 等)上搜索类似问题的解决方案,或者向同行请教,以解决遇到的困难,顺利完成 QT 5.14.1 与 OpenCV 环境的搭建,开启计算机视觉项目的开发之旅。

八、总结与展望

通过以上详细的步骤,我们成功搭建了 QT 5.14.1 与 OpenCV 的开发环境。这一过程虽然可能会遇到一些问题,但只要按照步骤仔细操作,并参考常见问题的解决方法,就能够顺利完成搭建,为后续的计算机视觉应用开发奠定坚实的基础。
随着技术的不断发展,计算机视觉在智能安防、自动驾驶、医疗影像分析、工业检测等众多领域的应用将越来越广泛和深入。掌握 QT 与 OpenCV 的开发技能,将为开发者打开一扇通向这些前沿领域的大门,创造出更多具有创新性和实用性的应用程序。希望读者能够在这个基础上,不断探索和实践,充分发挥自己的创造力,为推动计算机视觉技术的发展贡献自己的力量,在这个充满机遇和挑战的领域中取得丰硕的成果,开创属于自己的精彩篇章。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java圣诞树

目录 写在前面 技术需求 程序设计 代码分析 一、代码结构与主要功能概述 二、代码功能分解与分析 1. 类与常量定义 2. 绘制树的主逻辑 3. 彩色球的绘制 4. 动态效果的实现 5. 窗口初始化 三、关键特性与优点 四、总结 写在后面 写在前面 Java语言绘制精美圣诞树…

YashanDB 23.2 YAC -单库多实例架构多活共享集群安装部署指南

一、概述 1.1 文档目标 ​ 本说明旨在指导技术人员在 CentOS 7 x86_64 操作系统上完成崖山数据库企业版 23.2 的共享集群安装与部署。通过系统架构、集群拓扑及部署需求的精确描述&#xff0c;帮助读者在开始安装前对崖山数据库的架构形成清晰认识。本文以高效、稳定、安全为…

uniapp 文本转语音

uniapp 文本转语音 基于 Minimax API 的 UniApp 文本转语音工具&#xff0c;支持文本分段、队列播放、暂停恢复等功能。目前只内置了 Minimax文本转语音Minimax 的语音生成技术以其自然、情感丰富和实时性强而著称 API_KEY、GroupId 获取方法 https://platform.minimaxi.com…

ArrayList源码解析

1、介绍 1、可扩容&#xff0c;允许存储任何元素&#xff0c;包括null。这个类提供了一些方法来操纵数组大小&#xff0c;大致相当于Vector类。 2、ArrayList的容量是表示存储数组元素的大小&#xff0c;容量至少大于列表大小&#xff0c;在容量不足时&#xff0c;会自动扩容至…

ElementPlus 自定义封装 el-date-picker 的快捷功能

文章目录 需求分析 需求 分析 我们看到官网上给出的案例如下&#xff0c;但是不太满足我们用户想要的快捷功能&#xff0c;因为不太多&#xff0c;因此需要我们自己封装一些&#xff0c;方法如下 外部自定义该组件的快捷内容 export const getPickerOptions () > {cons…

GitLab 服务变更提醒:中国大陆、澳门和香港用户停止提供服务(GitLab 服务停止)

目录 前言 一. 变更详情 1. 停止服务区域 2. 邮件通知 3. 新的服务提供商 4. 关键日期 5. 行动建议 二. 迁移指南 三. 注意事项 四. 相关推荐 前言 近期&#xff0c;许多位于中国大陆、澳门和香港的 GitLab 用户收到了一封来自 GitLab 官方的重要通知。根据这封邮件…

使用Grafana中按钮插件实现收发HTTP请求

最近项目中需要监控分布式集群的各项指标信息&#xff0c;需要用到PrometheusGrafana的技术栈实现对分布式集群的各个节点状态进行可视化显示&#xff0c;但是要求前端需要提供一个易用的接口让用户可以触发一些操作&#xff0c;例如负载高时进行负载均衡或弹性伸缩。网上找到的…

【前端】MVC模式详解:如何构建高效的Web应用程序?

&#x1f4a5; 欢迎来到[爱学习的小羊]的博客&#xff01;希望你能在这里发现有趣的内容和丰富的知识。同时&#xff0c;期待你分享自己的观点和见解&#xff0c;让我们一起开启精彩的交流旅程&#xff01;&#x1f31f;> 首页&#xff1a;爱学习的小羊 – 热爱AI、热爱Pyt…

对一篇单细胞RNA综述的评述:细胞和基因质控参数的选择

原文链接&#xff1a; https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6072887 摘要 单细胞RNA测序技术的发展加深了我们对于细胞作为功能单元的理解&#xff0c;不仅能基于成百到成千上万个单细胞的基因表达谱得到新的结论&#xff0c;还能发现新的具有特异基因表达谱的细胞…

【再谈设计模式】享元模式~对象共享的优化妙手

一、引言 在软件开发过程中&#xff0c;我们常常面临着创建大量细粒度对象的情况&#xff0c;这可能会导致内存占用过高、性能下降等问题。享元模式&#xff08;Flyweight Pattern&#xff09;就像是一位空间管理大师&#xff0c;它能够在不影响功能的前提下&#xff0c;有效地…

windos挂载目录到linux

验证环境麒麟V10 1: 在windows任意目录设置共享文件夹 2&#xff1a;记住网络路径\LAPTOP-86JV6NT1\gantie13_sdk 在linux中替换为本机ip级相对路径 比如本级ip是192.168.23.23&#xff0c;linux环境需要ping通本地地址 3&#xff1a; sudo apt-get install cifs-utils sud…

基于STM32单片机矿井矿工作业安全监测设计

基于STM32单片机矿井矿工作业安全监测设计 目录 项目开发背景设计实现的功能项目硬件模块组成设计思路系统功能总结使用的模块技术详情介绍总结 1. 项目开发背景 随着矿井矿工作业环境的复杂性和危险性逐渐增加&#xff0c;矿井作业安全问题引起了社会各界的广泛关注。传统的…

WebRTC服务质量(11)- Pacer机制(03) IntervalBudget

WebRTC服务质量&#xff08;01&#xff09;- Qos概述 WebRTC服务质量&#xff08;02&#xff09;- RTP协议 WebRTC服务质量&#xff08;03&#xff09;- RTCP协议 WebRTC服务质量&#xff08;04&#xff09;- 重传机制&#xff08;01) RTX NACK概述 WebRTC服务质量&#xff08;…

Java爬虫技术:按关键字搜索VIP商品详情

在数字化时代&#xff0c;电子商务平台的竞争日益激烈&#xff0c;而精准的数据采集和分析成为了企业获取竞争优势的关键。对于电商平台而言&#xff0c;能够根据用户输入的关键字快速搜索并展示VIP商品的详细信息&#xff0c;不仅能够提升用户体验&#xff0c;还能够增加销售机…

若依框架中的上传图片后如何实现回显到页面的

在日常开发中&#xff0c;总会遇到上传文件、图片等功能&#xff0c;然后本地开发的话&#xff0c;又没有像OSS、七牛等网络存储&#xff0c;这个时候通常将文件上传到本地&#xff0c;那么上传之后拿到的是本地的路径&#xff0c;存储到数据库中&#xff0c;查询的时候如何将本…

一键图片转3D模型,AI建模,一键把图片转三维模型,二维图片转3维模型,AI建模

一键图片转3D模型&#xff0c;AI建模&#xff0c;一键把图片转三维模型&#xff0c;二维图片转3维模型,AI建模&#xff0c;公测版&#xff0c;每天不定时免费开放&#xff0c;非常强大 1咱们先打开ai.glbxz.com http://ai.glbxz.com 22 2导入图片。支持单张和多张图片生成 3…

梳理你的思路(从OOP到架构设计)_设计模式Android + Composite模式

目录 1、Android Composite模式 2、范例之一 3、范例之二 1、Android Composite模式 在Android平台里&#xff0c;像Button或ImageButton等屏幕控件皆通称为View。多个View能组合在一起&#xff0c;就会各种排列方式&#xff0c;即称为「布局」 (Layout)。这Layout类别就是…

LabVIEW软件项目设计方案如何制定

制定LabVIEW软件项目设计方案需要综合考虑需求分析、架构设计、功能模块划分和时间预算等多个方面&#xff0c;确保项目开发过程高效、可控且最终满足目标要求。以下是一个详细的制定流程&#xff1a; ​ 1. 需求分析 目标定义&#xff1a;明确项目的目标&#xff0c;例如数据采…

机器学习(二)-简单线性回归

文章目录 1. 简单线性回归理论2. python通过简单线性回归预测房价2.1 预测数据2.2导入标准库2.3 导入数据2.4 划分数据集2.5 导入线性回归模块2.6 对测试集进行预测2.7 计算均方误差 J2.8 计算参数 w0、w12.9 可视化训练集拟合结果2.10 可视化测试集拟合结果2.11 保存模型2.12 …

Linux运维常见命令

vi/vim快捷键使用 1)拷贝当前行 yy ,拷贝当前行向下的5行 5yy&#xff0c;并粘贴&#xff08;输入p&#xff09;。 2)删除当前行 dd ,删除当前行向下的5行5dd 3)在文件中查找某个单词 [命令行下 /关键字&#xff0c;回车查找 ,输入n就是查找下一个 ] 4)设置文件的行号&…