AI时代的C++编程方向

news2024/12/28 19:23:16

在这里插入图片描述

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关注公粽号 《机器和智能》 回复关键词 “python项目实战” 即可获取美哆商城视频资源!


博主介绍:
CSDN优质创作者,CSDN实力新星,CSDN内容合伙人;
阿里云社区专家博主;
华为云社区云享专家;
51CTO社区入驻博主,掘金社区入驻博主,支付宝社区入驻博主,博客园博主。


《C++从入门到精通》

  • 一、人工智能背景下C++编程技能的发展前景
    • 机器学习与深度学习
    • 自然语言处理
  • 二、物联网背景下C++编程技能的发展前景
    • 嵌入式系统开发
    • 通信协议开发
  • 三、自动驾驶背景下C++编程技能的发展前景
    • 实时操作系统开发
    • 机器学习与深度学习算法应用
    • 高精度地图与定位技术
  • 图书推荐 - 《C++从入门到精通》


在这里插入图片描述


🎉🎉🎉🎉🎉 重磅福利 🎉🎉🎉🎉🎉
🎉本次送2套书 ,评论区抽2位小伙伴送书
🎉活动时间:截止到 2023-12-15 10:00:00
🎉抽奖方式:评论区随机抽奖。
🎉参与方式:关注博主、点赞、收藏,评论。
❗注意:一定要关注博主,不然中奖后将无效!
🎉通知方式:通过私信联系中奖粉丝。
💡提示:有任何疑问请私信公粽号 《机器和智能》


专栏:《前沿技术文献与图书推荐》


在当今数字化时代,人工智能、物联网和自动驾驶等技术正在快速发展,它们不仅改变了人们的生活方式,而且对整个社会产生了深远的影响。在这些技术的推动下,C++编程技能逐渐成为了当今就业市场上的重要技能之一。本文将探讨在人工智能、物联网、和自动驾驶背景下C++编程技能的发展前景以及所需要的C++技术栈。

一、人工智能背景下C++编程技能的发展前景

人工智能是当今科技领域的热门话题,它涵盖了机器学习、深度学习、自然语言处理等多个方面。在这些领域中,C++编程语言具有广泛的应用前景。

机器学习与深度学习

在机器学习和深度学习领域中,C++是一种常用的编程语言。这是因为机器学习和深度学习需要处理大量的数据,而C++具有高效的内存管理和数据处理能力。在机器学习和深度学习算法的实现中,C++可以提供更快的运行速度和更低的资源消耗。

示例代码:

#include <iostream>  
#include <vector>  
#include <opencv2/opencv.hpp>  
#include <mlpack/core.hpp>  
#include <mlpack/methods/ann/ann.hpp>  
  
using namespace std;  
using namespace mlpack;  
using namespace mlpack::ann;  
  
int main()  
{  
  // 加载训练数据集  
  arma::mat X;  
  data::Load("train_data.csv", X, true);  
  
  // 加载标签数据集  
  arma::Row<size_t> Y;  
  data::Load("train_labels.csv", Y, true);  
  
  // 训练一个多层感知器模型  
  MultilayerPerceptron<> model;  
  model.Train(X, Y);  
  
  // 测试模型性能  
  arma::mat testData;  
  data::Load("test_data.csv", testData, true);  
  arma::Row<size_t> predictions;  
  model.Classify(testData, predictions);  
  double accuracy = arma::accu(predictions == testData.n_rows); //计算准确率  
  cout << "Accuracy: " << accuracy << endl; // 输出准确率  
  return 0;  
}

该示例代码使用了mlpack和OpenCV两个库来实现一个多层感知器模型。其中,mlpack提供了机器学习算法的实现,而OpenCV则提供了图像处理和计算机视觉算法的实现。通过使用C++编程语言,我们可以快速地实现这些算法,并对其进行优化以提高性能。

自然语言处理

自然语言处理是人工智能领域的另一个重要方向。在自然语言处理领域,C++也有着广泛的应用。例如,在语音识别、文本分析、机器翻译等方面,C++都可以提供高效的算法和实现。

示例代码:

#include <iostream>  
#include <string>  
#include <sstream>  
#include <vector>  
#include <algorithm>  
  
using namespace std;  
  
int main()  
{  
    string sentence = "The quick brown fox jumps over the lazy dog";  
    vector<string> words;  
    stringstream ss(sentence);  
    string word;  
    while (ss >> word) {  
        words.push_back(word);  
    }  
    sort(words.begin(), words.end());  
    for (auto word : words) {  
        cout << word << endl;  
    }  
    return 0;  
}

该示例代码将一个字符串分解为单词,并对这些单词进行排序,然后输出每个单词。在处理大量文本数据时,这种简单算法的实现可以用C++高效地完成。

二、物联网背景下C++编程技能的发展前景

物联网是指通过互联网对物品进行远程信息传输和智能化管理的网络。在物联网领域,C++也有着广泛的应用前景。

嵌入式系统开发

在物联网中,嵌入式系统扮演着重要角色。嵌入式系统通常需要控制硬件、执行计算和通信等功能。C++作为一种高效的嵌入式系统开发语言,可以用于开发各种物联网设备。

示例代码:

#include <iostream>  
#include <wiringPi.h>  
  
using namespace std;  
  
int main()  
{  
    wiringPiSetup(); // 初始化wiringPi库  
    pinMode(0, OUTPUT); // 设置引脚0为输出模式  
    for (int i = 0; i < 10; i++) {  
        digitalWrite(0, HIGH); // 将引脚0设置为高电平  
        delay(1000); // 延时1秒  
        digitalWrite(0, LOW); // 将引脚0设置为低电平  
        delay(1000); // 延时1秒  
    }  
    return 0;  
}

该示例代码使用wiringPi库来控制GPIO引脚,让一个LED灯每秒闪烁一次。这种代码可以用于开发物联网设备中的LED灯控制程序。

通信协议开发

在物联网中,设备之间的通信是至关重要的。C++作为一种高效的编程语言,可以用于开发各种通信协议。例如,你可以使用C++开发TCP/IP协议栈的实现,或者开发基于MQTT等协议的应用层通信软件。

示例代码:

#include <iostream>  
#include <string>  
#include <boost::asio.hpp>  
  
using namespace std;  
using namespace boost::asio;  
  
int main()  
{  
    io_service io;  
    ip::tcp::socket socket(io);  
    ip::tcp::endpoint endpoint(ip::tcp::v4(), 12345);  
    socket.connect(endpoint);  
    string message = "Hello, world!";  
    write(socket, string_buffer(message));  
    string response;  
    read(socket, string_buffer(response));  
    cout << "Received: " << response << endl;  
    return 0;  
}

该示例代码使用Boost.Asio库开发了一个简单的TCP客户端,它连接到本地12345端口的服务器,发送一条消息,并等待接收响应。这种代码可以用于开发各种基于TCP协议的物联网通信程序。

三、自动驾驶背景下C++编程技能的发展前景

自动驾驶是近年来备受关注的技术领域。在自动驾驶领域,C++也有着广泛的应用前景。

实时操作系统开发

在自动驾驶中,需要处理大量的传感器数据和执行决策的速度是非常快的。为了满足这种要求,许多自动驾驶系统需要使用实时操作系统(RTOS)。C++可以用于开发RTOS的核心部分,包括任务调度、进程间通信、中断处理等功能。

示例代码:

#include <iostream>  
#include <queue>  
#include <thread>  
#include <mutex>  
#include <condition_variable>  
  
using namespace std;  
  
queue<int> tasks; // 任务队列  
mutex mtx; // 互斥锁  
condition_variable cv; // 条件变量  
bool stop = false; // 停止标志位  
  
void worker() {  
    while (!stop) {  
        unique_lock<mutex> lock(mtx); // 加锁  
        cv.wait(lock, []{ return !tasks.empty() || stop; }); // 等待任务或停止标志位  
        if (!stop)

机器学习与深度学习算法应用

在自动驾驶领域,机器学习和深度学习算法被广泛应用于目标检测、障碍物避障、路径规划、行为预测等任务中。C++作为一种高效的编程语言,可以用于开发和实现这些算法。

示例代码:

#include <iostream>  
#include <vector>  
#include <opencv2/opencv.hpp>  
#include <boost/multiprecision/cpp_int.hpp>  
#include <Eigen/Dense>  
  
using namespace std;  
using namespace cv;  
using namespace boost::multiprecision;  
using namespace Eigen;  
  
int main()  
{  
    // 加载训练好的模型文件,这里假设文件名为model.pb  
    auto net = readNetFromCaffe("model.pb");  
    // 定义输入图像,这里使用OpenCV的Mat对象作为输入数据  
    Mat image = imread("image.jpg");  
    // 将输入图像转换为固定格式的矩阵,这里使用Eigen库进行矩阵运算  
    MatrixXd input(1, 3 * image.cols * image.rows);  
    input << reshape(image.reshape(3, image.rows * image.cols), 1, image.cols * image.rows * 3), reshape(image.t().reshape(3, image.cols * image.rows), 1, image.cols * image.rows * 3), 1;  
    // 将输入数据传递给网络进行预测,这里假设输出结果保存在名为prob的向量中  
    vector<float> prob;  
    net->forward(&input, &prob);  
    // 对输出结果进行处理,这里简单输出每个类别的概率值,并选取概率值最大的类别作为预测结果  
    auto max_prob = *max_element(prob.begin(), prob.end());  
    auto max_index = distance(prob.begin(), max_element(prob.begin(), prob.end()));  
    cout << "Predicted class: " << max_index << endl;  
    cout << "Probability: " << max_prob << endl;  
    return 0;  
}

该示例代码使用Caffe和Eigen库加载训练好的模型文件,将输入图像转换为固定格式的矩阵,并将输入数据传递给网络进行预测。输出结果包括每个类别的概率值和预测结果。这种代码可以用于开发基于深度学习算法的自动驾驶目标检测等功能。

高精度地图与定位技术

在自动驾驶中,高精度地图和定位技术是至关重要的。高精度地图提供了道路几何形状、交通标志、信号灯等详细信息,而定位技术则用于确定车辆在地图上的准确位置。C++可以用于开发高精度地图的生成和处理算法,以及基于传感器数据的定位算法。

示例代码:

#include <iostream>  
#include <vector>  
#include <opencv2/opencv.hpp>  
#include <boost/geometry.hpp>  
#include <Eigen/Dense>  
  
using namespace std;  
using namespace cv;  
using namespace boost::geometry;  
using namespace Eigen;  
  
// 定义地图数据类型  
typedef model::polygon<model::d2::point_xy<double>> polygon;  
vector<polygon> map_data;  
  
// 加载高精度地图数据,这里假设地图数据保存在名为map.txt的文件中  
void load_map_data() {  
    ifstream infile("map.txt");  
    string line;  
    while (getline(infile, line)) {  
        vector<double> points;  
        stringstream ss(line);  
        string item;  
        while (getline(ss, item, ',')) {  
            points.push_back(stod(item));  
        }  
        polygon poly;  
        for (auto i = 0; i < points.size() / 2; ++i) {  
            poly.outer().push_back(model::d2::point_xy<double>(points[i * 2], points[i * 2 + 1]));  
        }  
        map_data.push_back(poly);  
    }  
}  
  
// 基于传感器数据进行定位,这里简单使用卡尔曼滤波器进行演示,实际应用中可能需要使用更复杂的算法和技术,如多传感器融合、SLAM等。具体操作和代码实现可能较为复杂,这里不再赘述。请根据实际需求进行修改和完善。具体操作和代码实现可能涉及传感器数据的读取和处理、卡尔曼滤波器的实现和应用等方面。这里仅提供一个基本的框架和思路,供读者参考和扩展。 】  
VectorXd kalman_filter(const VectorXd& measurement) {  
    static KalmanFilter kf(4, 2, 0); // 定义卡尔曼滤波器的状态和观测维度,以及过程噪声协方差矩阵的初值  
    // 设置卡尔曼滤波器的参数,包括状态转移矩阵、观测矩阵、过程噪声协方差矩阵、观测噪声协方差矩阵等。这些参数需要根据具体的传感器类型和运动模型进行设置。具体操作和代码实现可能较为复杂,这里不再赘述。请根据实际需求进行修改和完善。  
    kf.transitionMatrix = ...;  
    kf.measurementMatrix = ...;  
    kf.processNoiseCov = ...;  
    kf.measurementNoiseCov = ...;  
    // 使用卡尔曼滤波器进行状态估计和更新,返回估计的状态值作为定位结果。具体操作和代码实现可能较为复杂,这里不再赘述。请根据实际需求进行修改和完善。  
    return kf.predict(measurement);  
}

该示例代码使用C++和Boost.Geometry库加载高精度地图数据,定义了地图数据类型和加载函数。同时,提供了一个基于卡尔曼滤波器的简单定位算法框架,用于演示如何使用C++开发自动驾驶中的定位技术。实际应用中可能需要使用更复杂的算法和技术,如多传感器融合、SLAM等。具体操作和代码实现可能较为复杂,这里不再赘述。请根据实际需求进行修改和完善。总之,C++在自动驾驶领域有着广泛的应用前景,可以用于开发各种算法和技术,为自动驾驶系统的实现提供支持。

图书推荐 - 《C++从入门到精通》

在这里插入图片描述

购买链接:链接1 | 链接2

内容简介
《C++从入门到精通(第5版)》从初学者角度出发,以通俗易懂的语言和丰富多彩的实例,详细讲解了C++程序开发需要掌握的知识。本书分为4篇共18章:第1篇是基础知识,包括绪论,数据类型,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,以及构造数据类型;第2篇是核心技术,包括面向对象编程,类和对象,以及继承与派生;第3篇是高级应用,包括模板、标准模板库、RTTI与异常处理、程序调试、文件操作和网络通信;第4篇是项目实战,结合人事考勤管理系统,依照软件项目的开发流程,讲述如何进行实际开发。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,读者可以轻松领会C++的强大功能,快速提高开发能力。
在这里插入图片描述

作者简介
明日科技,全称是吉林省明日科技有限公司,是一家专业从事软件开发、教育培训以及软件开发教育资源整合的高科技公司,其编写的教材非常注重选取软件开发中的必需、常用内容,同时也很注重内容的易学、方便性以及相关知识的拓展性,深受读者喜爱。其教材多次荣获“全行业优秀畅销品种”“全国高校出版社优秀畅销书”等奖项,多个品种长期位居同类图书销售排行榜的前列。

在这里插入图片描述

丛书说明
“软件开发视频大讲堂”丛书第1版于2008年8月出版,因其编写细腻,易学实用,配备海量学习资源和全程视频等,在软件开发类图书市场上产生了很大反响,绝大部分品种在全国软件开发零售图书排行榜中名列前茅,2009年多个品种被评为“全国优秀畅销书”。

“软件开发视频大讲堂”丛书第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版。丛书连续畅销12年,迄今累计重印650多次,销售400多万册。不仅深受广大程序员的喜爱,还被百余所高校选为计算机、软件等相关专业的教学参考用书。

“软件开发视频大讲堂”丛书第6版在继承前5版所有优点的基础上,进一步修正了疏漏,优化了图书内容,并根据读者建议替换了部分学习视频。同时,提供了从“入门学习→实例应用→模块开发→项目开发→能力测试→面试”等各个阶段的海量开发资源库,使之更适合读者学习、训练、测试。为了方便教学,还提供了教学课件PPT。

C++语言是在C语言基础上发展起来的,它在C语言基础上融入了许多新的编程理念,这些理念有利于程序的开发。从语言角度来说,C++语言是一个规范,它规范程序员如何进行面向对象程序开发。C++具有C语言操作底层的能力,同时还具有提高代码复用率的面向对象编程技术,是一种语句更加灵活、使用更加简捷、技术更加全面的编程利器。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


❗❗❗重要❗❗❗☞关注下方公粽号 《机器和智能》 回复关键词 “python项目实战” 即可获取美哆商城视频资源!

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

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

相关文章

UOS打印任务监控

UOS系统下如何对一个打印任务进行监控呢? 首先,UOS系统是支持这个功能。比如说我们打印一个任务后,UOS自带的打印管理器是能知道打印任务的状态的: 经过研究,最终发现了他的监控原理。 还得是DBus 没错,还是得通过DBus来实现打印任务监控。 话不多说,直接上代码: …

SystemVerilog基础:并行块fork-join、join_any、join_none(一)

相关阅读 SystemVerilog基础https://blog.csdn.net/weixin_45791458/category_12517449.html?spm1001.2014.3001.5482 有关Verilog中顺序块和并行块的相关内容已经在之前的Verilog基础的文章讲过&#xff0c;如下所示。 Verilog基础&#xff1a;块语句https://blog.csdn.net…

Linux进程通信——内存映射mmap

Linux进程通信——内存映射mmap 1、创建内存映射区2、进程间通信2.1 有血缘关系2.2 没有血缘关系 3、拷贝文件 原文链接 1、创建内存映射区 如果想要实现进程间通信&#xff0c;可以通过函数创建一块内存映射区&#xff0c;和管道不同的是管道对应的内存空间在内核中&#xf…

知识点滴 - 什么是半透膜和渗透压

半透膜和渗透作用 1748年的一天&#xff0c;法国物理学家诺勒为了改进酒的制作水平&#xff0c;设计了这样一个试验&#xff1a;在一个玻璃圆筒中装满酒精&#xff0c;用猪膀胱封住&#xff0c;然后把圆筒全部浸在水中。当他正要做下一步的工作时&#xff0c;突然发现&#xff…

MySQL 的 NULL 是怎么存储的?

目录 一、MySQL介绍 二、什么是NULL 三、MySQL 的 NULL 是怎么存储的 一、MySQL介绍 MySQL是一种关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是一种开源软件&#xff0c;由瑞典MySQL AB公司开发&#xff0c;后被Sun Microsystems收购&#xff0c;现在…

【电机控制】PMSM无感foc控制(六)相电流检测及重构 — 双电阻采样、三电阻采样

0. 前言 目前&#xff0c;永磁同步电机的电流信号采样方法应用较多的是分流电阻采样&#xff0c;包括单电阻、双电阻以及三电阻采样法。其中&#xff0c;单电阻采样上一章节已经讲解&#xff0c;这章讲双电阻以及三电阻电流采样法。 1. 双电阻采样 1.1 双电阻采样原理 双电阻采…

CRM管理系统:让你的业务运行更流畅

是客户关系管理系统的缩写。现代企业利用网络技术协调企业和客户之间在销售和服务上的对接&#xff0c;提升企业核心竞争力的一种手段。那么CRM管理系统一般包含哪些功能模块呢&#xff1f;今天小编为大家介绍一下。 一、好的CRM管理系统有哪些功能特性 1、有全方位的客户视图…

【开源】基于Vue.js的河南软件客服系统

文末获取源码&#xff0c;项目编号&#xff1a; S 067 。 \color{red}{文末获取源码&#xff0c;项目编号&#xff1a;S067。} 文末获取源码&#xff0c;项目编号&#xff1a;S067。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、…

Elasticsearch高级

文章目录 一.数据聚合二.RestAPI实现聚合三.ES自动补全(联想)四.数据同步五.elasticsearch集群 一.数据聚合 在ES中的数据聚合&#xff08;aggregations&#xff09;可以近似看做成mysql中的groupby分组,聚合可以实现对文档数据的统计、分析、运算,常见的聚合的分类有以下几种…

ArcGIS提示当前许可不支持影像服务器

1、问题&#xff1a; 在用ArcGIS上处理影像栅格数据时&#xff08;比如栅格数据集裁剪、镶嵌数据集构建镶嵌线等&#xff09;经常会出现。 无法启动配置 RasterComander.ImageServer <详信息 在计算机XXXXX上创建服务器对象实例失败 当前许可不支持影像服务器。 ArcGIS提示当…

计算机组成学习-指令系统总结

复习本章时&#xff0c;思考以下问题&#xff1a; 1)什么是指令&#xff1f;什么是指令系统&#xff1f;为什么要引入指令系统&#xff1f;2)一般来说&#xff0c;指令分为哪些部分&#xff1f;每部分有什么用处&#xff1f;3)对于一个指令系统来说&#xff0c;寻址方式多和少…

CDA level-2 备考经验分享 转数据分析师CDA证书备考 考试相关说明

抓住了23年的尾巴&#xff0c;正好给我考过了CDA level-2 &#xff0c;虽然今年只有这几个小收获&#xff0c;但是还是很开心了&#xff0c;毕竟知足常乐嘛。 由于工作原因&#xff0c;因此复习都是间断性的&#xff0c;勉勉强强给通过了&#xff0c;只得了个C。 考试注册报名与…

HT78621 3.5A开关限流降压变换器基本参数信息

HT78621是一款高压降压开关稳压器&#xff0c;可向负载提供高达2A的连续电流。 HT78621 特性&#xff1a; ・宽输入电压: 5V – 60V ・峰值开关电流限值典型3.5A ・Z高1MHz开关频率 ・支持PWM调光控制输入&#xff0c;应用于LED ・集成G端MOSFET的短路保护 ・200μA静态电…

【眼界 | 每日技术】日常生活中的那些技术,增长眼界系列(一)

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

备忘录怎么传到电脑?备忘录手机电脑互传方法

对于那些记性不好的人来说&#xff0c;手机上的备忘录简直是个不可或缺的好帮手。可是有时候&#xff0c;我们在手机上记录的内容需要在电脑上查看&#xff0c;这时候该怎么办呢&#xff1f; 曾经&#xff0c;我也为备忘录的手机电脑互传问题头疼不已。手机上记录的事项&#…

智能锁-SI522TORC522方案资料

南京中科微这款SI522目前完全PinTOPin兼容的NXP&#xff1a;RC522、CV520 复旦微&#xff1a;FM17520、FM17522/FM17550 瑞盟&#xff1a;MS520、MS522 国民技术:NZ3801、NZ3802 SI522 是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。是NXP 公司针对&quo…

涵盖多种功能,龙讯旷腾Module第三期:光、磁、力学和极化性质

Module是什么 在PWmat的基础功能上&#xff0c;我们针对用户的使用需求开发了一些顶层模块&#xff08;Module&#xff09;。这些Module中的一部分是与已有的优秀工具的接口&#xff0c;一部分是以PWmat的计算结果为基础得到实际需要的物理量&#xff0c;一部分则是为特定的计…

OpenCV介绍及安装

目录 1.OpenCV简介 2.OpenCV安装 3.检查OpenCV是否安装成功 4.OpenCV模块 5.学习技巧 1.OpenCV简介 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个基于开源发行的跨平台计算机视觉库&#xff0c;主要用于图像处理、计算机视觉和机器学习等领域…

OpenGL 和 OpenGL ES 2.0/3.X 一致性测试说明(CTS)

本文档介绍如何构建、移植和运行 OpenGL 和 OpenGL ES 2.0/3.X 一致性测试&#xff0c;以及如何验证和提交测试结果。 [TOC]目录 测试环境要求 一致性测试需要文件系统。文件系统需要支持长文件名&#xff08;即 > 8.3 名称格式&#xff09;。一致性测试中的源文件使用大…

全部免费!6个宝藏级别的AI网站!

专注AIGC领域的专业社区&#xff0c;关注百度文心一言等大语言模型&#xff08;LLM&#xff09;的发展和应用落地&#xff0c;关注LLM的基准评测和市场研究&#xff0c;欢迎关注&#xff01; 前两天给大家介绍了一款AI绘图工具fooocus&#xff0c;帮大家把AI绘画的使用门槛大幅…