当前位置: 首页 > news >正文

ubuntu24.04使用opencv4

  • ubuntu24.04LTS自带opencv4.5
  • 代码实例
//opencv_example.cpp
#include <opencv2/opencv.hpp>
#include <iostream>int main() {// 读取图像cv::Mat img = cv::imread("image.jpg", cv::IMREAD_COLOR);if (img.empty()) {std::cerr << "无法读取图像!" << std::endl;return -1;}// 显示图像cv::imshow("显示图像", img);cv::waitKey(0); // 等待按键return 0;
}
  • 编译( usr/include/opencv4包含opencv2目录,编译执行导入外面一层目录)
g++ opencv_example.cpp -o opencv_example `pkg-config --cflags --libs opencv4`
  • 执行
opencv_example

link-use sift : https://stackoverflow.com/questions/22722772/how-to-use-sift-in-opencv

安装拓展包

  • link: https://github.com/opencv/opencv_contrib.git
    OpenCV Contrib 是 OpenCV 的一个附加模块库,包含了一些在核心 OpenCV 库中没有的额外功能和算法。它的主要作用和特点包括:

介绍

1. 扩展功能

OpenCV Contrib 提供了一些额外的计算机视觉和图像处理功能,这些功能可能不够成熟或不够通用,无法包含在核心 OpenCV 中。通过使用 Contrib 模块,用户可以访问这些实验性或特定领域的功能。

2. 额外的算法

Contrib 模块中包含了一些特定的算法和工具,例如:

  • xfeatures2d:包含 SIFT、SURF 和其他特征检测和描述子提取算法。
  • text:用于文本检测和识别的工具。
  • tracking:包含多种目标跟踪算法。
  • saliency:用于显著性检测的算法。
  • face:人脸检测和识别的相关功能。

基础

致命陷阱: cv::Mat

  • 只在创建Mat的时候,(row,col),其余(col,row)
  • 如下,创建了一个3*row行,3*col列的图像
    cv::Mat globalImage=cv::Mat::zeros(3*row, 3*col, CV_8UC3);
  • 所有的向量位置,也是(col,row)的形式: 图像(row,col)的位置表示为(col,row);
        ori_corners.push_back((cv::Mat_<double>(3,1) << col-1, 0,1));
  • col代表x,row代表y

cv::Rect

cv::Rect(0, 0, img2.cols, img2.rows) 创建了一个从 (0, 0) 开始,宽度为 img2.cols,高度为 img2.rows 的矩形,通常表示整个图像 img2 的区域。

cv::vec4f

  • 表示2D直线时,前两个表示方向,后两个表示端点;

操作

opencv如何把一个图像的某个菱形区域粘贴到另一个图像上?

在OpenCV中,可以通过以下步骤将一个图像的某个菱形区域粘贴到另一个图像上:

  1. 读取图像:使用 cv::imread 读取源图像和目标图像。
  2. 定义菱形区域:通过指定菱形的中心和大小,计算出菱形区域的四个顶点。
  3. 创建掩膜:使用掩膜来提取源图像中的菱形区域。
  4. 粘贴区域:将提取的菱形区域粘贴到目标图像的指定位置。

以下是一个示例代码,演示如何实现这一过程:

C++ 示例代码

#include <opencv2/opencv.hpp>int main() {// 读取源图像和目标图像cv::Mat sourceImage = cv::imread("source_image.jpg");cv::Mat targetImage = cv::imread("target_image.jpg");// 检查图像是否成功读取if (sourceImage.empty() || targetImage.empty()) {std::cerr << "Could not open or find the images!" << std::endl;return -1;}// 定义菱形区域的中心和大小cv::Point center(100, 100); // 菱形中心int width = 80; // 菱形的宽度int height = 80; // 菱形的高度// 计算菱形的四个顶点std::vector<cv::Point> diamondPoints;diamondPoints.push_back(cv::Point(center.x, center.y - height / 2)); // 上顶点diamondPoints.push_back(cv::Point(center.x + width / 2, center.y)); // 右顶点diamondPoints.push_back(cv::Point(center.x, center.y + height / 2)); // 下顶点diamondPoints.push_back(cv::Point(center.x - width / 2, center.y)); // 左顶点// 创建掩膜cv::Mat mask = cv::Mat::zeros(sourceImage.size(), CV_8UC1);cv::fillConvexPoly(mask, diamondPoints, cv::Scalar(255));// 提取菱形区域cv::Mat diamondRegion;sourceImage.copyTo(diamondRegion, mask);// 定义粘贴位置cv::Point pasteLocation(50, 50); // 在目标图像上的粘贴位置// 将菱形区域粘贴到目标图像上for (int y = 0; y < diamondRegion.rows; y++) {for (int x = 0; x < diamondRegion.cols; x++) {if (mask.at<uchar>(y, x) > 0) { // 检查掩膜targetImage.at<cv::Vec3b>(pasteLocation.y + y, pasteLocation.x + x) = diamondRegion.at<cv::Vec3b>(y, x);}}}// 显示结果cv::imshow("Result", targetImage);cv::waitKey(0);return 0;
}

说明:

  1. 读取图像:使用 cv::imread 读取源图像和目标图像。
  2. 定义菱形区域:通过指定菱形的中心和大小,计算出菱形的四个顶点。
  3. 创建掩膜:使用 cv::fillConvexPoly 创建一个掩膜,填充菱形区域。
  4. 提取菱形区域:使用掩膜从源图像中提取菱形区域。
  5. 粘贴区域:将提取的菱形区域粘贴到目标图像的指定位置。
  6. 显示结果:使用 cv::imshow 显示结果图像。

注意事项:

  • 确保粘贴位置在目标图像的有效范围内,以避免越界访问。
  • 如果源图像和目标图像的大小不同,可能需要调整菱形区域的大小或粘贴位置。

simple multi-band blending

  • link1: https://blog.csdn.net/m0_59023219/article/details/130733220
  • link2:https://blog.csdn.net/qq_46396470/article/details/140087963
#include <opencv2/opencv.hpp>
#include <vector>using namespace cv;// 函数:创建拉普拉斯金字塔
std::vector<Mat> createLaplacianPyramid(const Mat& image, int levels) {std::vector<Mat> pyramid;Mat current = image.clone();for (int i = 0; i < levels; i++) {Mat down;pyrDown(current, down);Mat laplacian = current - downsample(down, current.size());pyramid.push_back(laplacian);current = down;}pyramid.push_back(current); // 最底层return pyramid;
}// 函数:重建图像
Mat reconstructFromPyramid(const std::vector<Mat>& pyramid) {Mat current = pyramid.back();for (int i = pyramid.size() - 2; i >= 0; i--) {current = pyrUp(current) + pyramid[i]; // 使用 pyrUp 进行上采样}return current;
}// 函数:多频带混合
Mat multiBandBlending(const Mat& img1, const Mat& img2, int levels) {// 创建拉普拉斯金字塔std::vector<Mat> laplacian1 = createLaplacianPyramid(img1, levels);std::vector<Mat> laplacian2 = createLaplacianPyramid(img2, levels);// 混合频带std::vector<Mat> blendedPyramid;for (size_t i = 0; i < laplacian1.size(); i++) {Mat blended = (laplacian1[i] + laplacian2[i]) / 2; // 简单的平均混合blendedPyramid.push_back(blended);}// 重建图像return reconstructFromPyramid(blendedPyramid);
}int main() {// 读取图像Mat img1 = imread("image1.jpg");Mat img2 = imread("image2.jpg");if (img1.empty() || img2.empty()) {std::cerr << "无法读取图像!" << std::endl;return -1;}// 确保图像大小相同if (img1.size() != img2.size()) {resize(img2, img2, img1.size());}// 进行多频带混合Mat blended = multiBandBlending(img1, img2, 5);// 显示结果imshow("Blended Image", blended);waitKey(0);return 0;
}

相关文章:

ubuntu24.04使用opencv4

ubuntu24.04LTS自带opencv4.5代码实例 //opencv_example.cpp #include <opencv2/opencv.hpp> #include <iostream>int main() {// 读取图像cv::Mat img cv::imread("image.jpg", cv::IMREAD_COLOR);if (img.empty()) {std::cerr << "无法读…...

R语言数据分析案例46-不同区域教育情况回归分析和探索

一、研究背景 教育是社会发展的基石&#xff0c;对国家和地区的经济、文化以及社会进步起着至关重要的作用。在全球一体化进程加速的今天&#xff0c;不同区域的教育发展水平呈现出多样化的态势。这种差异不仅体现在教育资源的分配上&#xff0c;还表现在教育成果、教育投入与…...

flink sink doris

接上文&#xff1a;一文说清flink从编码到部署上线 网上关于flink sink drois的例子较多&#xff0c;大部分不太全面&#xff0c;故本文详细说明&#xff0c;且提供完整代码。 flink doris版本对照表 1.添加依赖 <!--doris cdc--><!-- 参考&#xff1a;"https…...

《探索 Apache Spark MLlib 与 Java 结合的卓越之道》

在当今大数据与人工智能蓬勃发展的时代&#xff0c;Apache Spark MLlib 作为强大的机器学习库&#xff0c;与广泛应用的 Java 语言相结合&#xff0c;为数据科学家和开发者们提供了丰富的可能性。那么&#xff0c;Apache Spark MLlib 与 Java 结合的最佳实践究竟是什么呢&#…...

Net9解决Spire.Pdf替换文字后,文件格式乱掉解决方法

官方文档 https://www.e-iceblue.com/Tutorials/Spire.PDF/Program-Guide/Text/Find-and-replace-text-on-PDF-document-in-C.html C# 在 PDF 中查找替换文本 原文件如下图&#xff0c;替换第一行的新编码&#xff0c;把41230441044替换为41230441000 替换代码如下&#xff…...

Kafka可视化工具 Offset Explorer (以前叫Kafka Tool)

数据的存储是基于 主题&#xff08;Topic&#xff09; 和 分区&#xff08;Partition&#xff09; 的 Kafka是一个高可靠性的分布式消息系统&#xff0c;广泛应用于大规模数据处理和实时, 为了更方便地管理和监控Kafka集群&#xff0c;开发人员和运维人员经常需要使用可视化工具…...

青少年编程与数学 02-004 Go语言Web编程 21课题、应用部署

青少年编程与数学 02-004 Go语言Web编程 21课题、应用部署 一、应用部署二、GoWeb部署到WINDOWS系统中1. 安装Go环境2. 创建并编写Go Web应用3. 初始化Go模块4. 编译Go Web应用5. 配置和运行Nginx6. 运行Go Web应用7. 访问应用总结 三、GoWeb部署到LINUX系统中1. 准备Linux服务…...

009-spring-bean的实例化流程

1 spring容器初始化时&#xff0c;将xml配置的bean 信息封装在 beandefinition对象 2 所有的beandefinition存储在 beandefinitionMap的map集合中 3 spring对map进行遍历&#xff0c;使用反射创建bean实例对象 4 创建好的bean存在名为singletonObjects的map集合中 5 调用ge…...

Timsort算法

Timsort算法是一种混合、稳定且高效的排序算法&#xff0c;源自归并排序和插入排序。它通过将已识别的子序列&#xff08;称为“run”&#xff09;与现有run合并直到满足某些条件来完成排序。以下是对Timsort算法的详细解释及举例说明&#xff1a; Timsort算法概述 混合性&…...

uniapp+vue 前端防多次点击表单,防误触多次请求方法。

最近项目需求写了个uniappvue前端H5,有个页面提交表单的时候发现会有用户乱点导致数据库多条重复脏数据。故需要优化&#xff0c;多次点击表单只请求一次。 思路: 直接调用uni.showToast&#xff0c;点完按钮跳一个提交成功的提示。然后把防触摸穿透mask设置成true就行&#…...

八、Hbase

Hbase 一、NoSQL非关系型数据库简介1.NoSQL 的起因2.NoSQL 的特点3.NoSQL 面临的挑战4.NoSQL 的分类 二、HBase数据库概述1.HBase数据库简介2.HBase数据模型简介3.HBase数据模型基本概念4.Hbase概念视图(逻辑视图)5.Hbase物理视图6.Hbase主要组件7.Hbase安装8.Hbase的数据读写流…...

ubuntu安装sublime安装与免费使用

1. ubuntu安装sublime 参考官网: Linux Package Manager Repositories 2. 破解过程 打开如下网址,打开/opt/sublime_text/sublime_text https://hexed.it/ 3. 替换在hexed打开的文件中查找并替换: 4180激活方法 使用二进制编辑器 8079 0500 0f94 c2替换为 c641 05…...

Onedrive精神分裂怎么办(有变更却不同步)

Onedrive有时候会分裂&#xff0c;你在本地删除文件&#xff0c;并没有同步到云端&#xff0c;但是本地却显示同步成功。 比如删掉了一个目录&#xff0c;在本地看已经删掉&#xff0c;onedrive显示已同步&#xff0c;但是别的电脑并不会同步到这个删除操作&#xff0c;在网页版…...

图像裁剪与批量推理:解决分割和变化检测中的大图处理问题

引言 在分割、变化检测等任务中&#xff0c;我们经常会遇到一个问题&#xff1a;模型的输入尺寸是固定且较小的&#xff08;如256256或512512&#xff09;。当需要处理分辨率较高的大图时&#xff0c;直接输入到模型中显然是不切实际的。那么&#xff0c;如何高效地解决这个问…...

第4章 函数

2024年12月25日一稿 4.1 函数的定义 4.1.1 函数和像 4.1.2 函数的性质 4.1.3 常用函数 4.2 复合函数和反函数 4.2.1 复合函数 4.2.2 反函数 4.3 特征函数与模糊子集 4.4 基数的概念 4.4.1 后继与归纳集 4.4.2 自然数&#xff0c;有穷集&#xff0c;无穷集 4.4.3 基数 4.5 可数…...

【JavaEE进阶】Spring传递请求参数

目录 &#x1f38d;序言 &#x1f334;传递单个参数 &#x1f340;传递多个参数 &#x1f384;传递对象 &#x1f333;后端参数重命名&#xff08;后端参数映射&#xff09; &#x1f6a9;ReuqestParam注解 &#x1f38d;序言 访问不同的路径,就是发送不同的请求.在发送…...

在跨平台开发环境中构建高效的C++项目:从基础到最佳实践20241225

在跨平台开发环境中构建高效的C项目&#xff1a;从基础到最佳实践 引言 在现代软件开发中&#xff0c;跨平台兼容性和高效开发流程是每个工程师追求的目标。尤其是对于 C 开发者&#xff0c;管理代码的跨平台构建以及调试流程可能成为一项棘手的挑战。在本文中&#xff0c;我…...

无人零售及开源 AI 智能名片 S2B2C 商城小程序的深度剖析

摘要&#xff1a;本文聚焦无人零售这一新兴零售模式及其发展浪潮中崛起的开源 AI 智能名片 S2B2C 商城小程序。深入阐述无人零售的发展态势&#xff0c;细致剖析其驱动因素、现存问题&#xff0c;全面详细介绍小程序的功能特性、应用优势以及对无人零售的潜在价值&#xff0c;旨…...

PCL点云库入门——PCL库点云滤波算法之直通滤波(PassThrough)和条件滤波(ConditionalRemoval)

0、滤波算法概述 PCL点云库中的滤波算法是处理点云数据不可或缺的一部分&#xff0c;它们能够有效地去除噪声、提取特征或进行数据降维。例如&#xff0c;使用体素网格滤波&#xff08;VoxelGrid&#xff09;可以减少点云数据量&#xff0c;同时保留重要的形状特征。此外&#…...

v语言介绍

V 语言是一种多用途的编程语言&#xff0c;可以用于前端开发、后端开发、系统编程、游戏开发等多个领域。它的设计哲学是提供接近 C 语言的性能&#xff0c;同时简化开发过程并提高代码的安全性和可读性。接下来我会详细介绍 V 在前后端开发中的应用&#xff0c;并给出一个具体…...

GPT-O3:简单介绍

GPT-O3&#xff1a;人工智能领域的重大突破 近日&#xff0c;OpenAI发布了其最新的AI模型GPT-O3&#xff0c;这一模型在AGI评估中取得了惊人的成绩&#xff0c;展现出强大的能力和潜力。GPT-O3的出现标志着人工智能领域的重大进步&#xff0c;预计将在2025年实现更大的突破。 …...

重温设计模式--适配器模式

文章目录 适配器模式&#xff08;Adapter Pattern&#xff09;概述适配器模式UML图适配器模式的结构目标接口&#xff08;Target&#xff09;&#xff1a;适配器&#xff08;Adapter&#xff09;&#xff1a;被适配者&#xff08;Adaptee&#xff09;&#xff1a; 作用&#xf…...

API部署大模型

由于生产测试环境的服务器配置较低 不能够支撑大模型运行的配置 所以需要将大模型封装部署在A服务器上 在B服务器上进行调用 封装时可以使用FastAPI与Websocket两种通信方式进行通信 Websocket 在A服务器端部署大模型&#xff08;服务端&#xff09; import asyncio import …...

Linux -- 同步与条件变量

目录 同步 条件变量 pthread_cond_t pthread_cond_init&#xff08;初始化条件变量&#xff09; pthread_cond_destroy&#xff08;销毁条件变量&#xff09; pthread_cond_wait&#xff08;线程等待条件变量&#xff09; 重要提醒 pthread_cond_boardcast&#xff08…...

Linux之ARM(MX6U)裸机篇----1.开发环境搭建

下载开启FTP服务 作用&#xff1a;用于电脑与linux系统之前文件传输 如上&#xff0c;编辑完成后重启 Window下FTP客户端安装使用http://www.filezilla.cn/download网址下载 新建网络连接站点 主机后写虚拟机的ip地址&#xff0c;用ifconfig查出ipv4的地址 笔记本电脑中虚拟…...

【C语言】结构体模块化编程

在模块化编程中&#xff0c;结构体作为数据存储的主要方式之一&#xff0c;它不仅用于存储数据&#xff0c;还帮助实现代码的封装与隐私保护。通过将结构体定义放在 .c 文件中并使用 get_ 和 set_ 函数进行访问&#xff0c;我们可以实现对结构体数据的保护&#xff0c;同时降低…...

SpringCloudAlibaba技术栈-Nacos

1、什么是Nacos&#xff1f; Nacos是个服务中心&#xff0c;就是你项目每个功能模块都会有个名字&#xff0c;比如支付模块,我们先给这个模块起个名字就叫paymentService,然后将这个名字和这个模块的配置放到Nacos中&#xff0c;其他模块也是这样的。好处是这样能更好地管理项…...

Windows11家庭版启动Hyper-V

Hyper-V 是微软的硬件虚拟化产品&#xff0c;允许在 Windows 上以虚拟机形式运行多个操作系统。每个虚拟机都在虚拟硬件上运行&#xff0c;可以创建虚拟硬盘驱动器、虚拟交换机等虚拟设备。使用虚拟化可以运行需要较旧版本的 Windows 或非 Windows 操作系统的软件&#xff0c;以…...

《信管通低代码信息管理系统开发平台》Linux环境安装说明

1 简介 信管通低代码信息管理系统应用平台提供多环境软件产品开发服务&#xff0c;包括单机、局域网和互联网。我们专注于适用国产硬件和操作系统应用软件开发应用。为事业单位和企业提供行业软件定制开发&#xff0c;满足其独特需求。无论是简单的应用还是复杂的系统&#xff…...

第一节:电路连接【51单片机-L298N-步进电机教程】

摘要&#xff1a;本节介绍如何搭建一个51单片机L298N步进电机控制电路&#xff0c;所用材料均为常见的模块&#xff0c;简单高效的方式搭建起硬件环境 一、硬件清单 ①51单片机模块 ②恒流模块 ③开关电源 ④L298N模块 ⑤二相四线步进电机 ⑥电线若干 二、接线 三、L298N模…...

YoloDotNet 识别图像中特定关键点的位置

文章目录 1、初始化 Yolo 对象2、加载图像与检测关键点3、处理检测结果4、自定义关键点绘制和处理5、注意事项1、初始化 Yolo 对象 设置 YoloOptions,包括模型路径、模型类型(如果有专门的关键点检测模型类型则指定)、GPU 使用相关参数等。例如: var yoloOptions = new Yo…...

山景BP1048增加AT指令,实现单片机串口控制播放音乐(一)

1、设计目的 山景提供的SDK是蓝牙音箱demo&#xff0c;用户使用ADC按键或者IR遥控器&#xff0c;进行人机交互。然而现实很多场景&#xff0c;需要和单片机通信&#xff0c;不管是ADC按键或者IR接口都不适合和单片机通信。这里设计个AT指令用来和BP1048通信。AT指令如下图所示…...

Leetcode3218. 切蛋糕的最小总开销 I

题目描述&#xff1a; 有一个 m x n 大小的矩形蛋糕&#xff0c;需要切成 1 x 1 的小块。 给你整数 m &#xff0c;n 和两个数组&#xff1a; horizontalCut 的大小为 m - 1 &#xff0c;其中 horizontalCut[i] 表示沿着水平线 i 切蛋糕的开销。verticalCut 的大小为 n - 1 …...

基于自然语言处理(NLP)的智能客服系统

基于自然语言处理&#xff08;NLP&#xff09;的智能客服系统是现代客户服务领域的一项重要技术&#xff0c;它通过模拟人类对话的方式&#xff0c;为用户提供及时、准确和个性化的服务。以下是关于基于NLP的智能客服系统的一些关键要素和功能&#xff1a; 1. 自然语言理解&am…...

RAG实战:构建基于本地大模型的智能问答系统

RAG实战&#xff1a;构建基于本地大模型的智能问答系统 引言 在当今AI快速发展的时代&#xff0c;如何构建一个既智能又可靠的问答系统是一个重要课题。本文将介绍如何使用RAG&#xff08;检索增强生成&#xff09;技术&#xff0c;结合本地大模型&#xff0c;构建一个高效的智…...

三维扫描在汽车/航空行业应用

三维扫描技术应用范围广泛&#xff0c;从小型精密零件到大型工业设备&#xff0c;都能实现快速、准确的测量。 通过先进三维扫描技术获取产品和物体的形面三维数据&#xff0c;建立实物的三维图档&#xff0c;满足各种实物3D模型数据获取、三维数字化展示、3D多媒体开发、三维…...

基于AI IDE 打造快速化的游戏LUA脚本的生成系统

前面写了一篇关于使用AI IDE进行C安全开发的博客《使用AI IDE 助力 C 高性能安全开发&#xff01;》&#xff0c; 得到许多同学们的喜欢&#xff0c;今天我们来继续在游戏开发中扩展一下AI的能力&#xff0c;看看能不能给游戏研发团队一些启发。 在游戏研发中&#xff0c;Lua曾…...

http的访问过程或者访问页面会发生什么

1. 建立连接 客户端与服务器之间需要建立 TCP 连接&#xff0c;常用步骤如下&#xff1a; DNS解析&#xff1a;客户端将目标 URL 转换为服务器的 IP 地址。三次握手&#xff1a;TCP 协议通过三次握手建立可靠连接&#xff0c;确保双方具备通信能力。传输层连接建立&#xff1…...

Lua 函数

Lua 函数 1. 概述 Lua是一种轻量级的编程语言&#xff0c;常用于游戏开发、脚本编写和嵌入式系统。在Lua中&#xff0c;函数是一等公民&#xff0c;意味着它们可以作为变量传递&#xff0c;也可以作为参数传递给其他函数。本文将详细介绍Lua中的函数&#xff0c;包括函数的定…...

产品升级!Science子刊同款ARGs-HOST分析,get!

凌恩生物明星chanpin 抗性宏基因-宿主分析 Science子刊同款分析 数据挖掘更进一步&#xff01; 抗生素的大量使用与滥用使微生物体内编码抗生素抗性的基因在环境中选择性富集&#xff0c;致病菌通过基因突变或者水平基因转移获得抗生素抗性基因后&#xff0c;导致抗生素治疗…...

Kubernetes PV及PVC的使用

前提条件 拥有Kubernetes集群环境&#xff0c;可参考&#xff1a;Kubernetes集群搭建理解Kubernetes部署知识&#xff0c;可参考&#xff1a;使用Kubernetes部署第一个应用 、Deloyment控制器拥有NFS服务&#xff0c;可参考&#xff1a;Linux环境搭建NFS服务 概述 Persistent…...

struct udp_sock

这个struct udp_sock结构体是Linux内核网络栈中用于表示一个UDP套接字的数据结构。它继承自struct inet_sock,这意味着它包含了所有IPv4或IPv6套接字共享的基础信息和函数指针。下面是对struct udp_sock中一些关键成员的解释: struct inet_sock inet;:这是udp_sock结构体的第…...

《机器学习》数据预处理简介

目录 1. 数据清洗&#xff08;Data Cleaning&#xff09; &#xff08;1&#xff09;处理缺失值 &#xff08;2&#xff09;处理异常值 &#xff08;3&#xff09;处理重复数据 2. 数据转换&#xff08;Data Transformation&#xff09; &#xff08;1&#xff09;特征缩…...

USB接口实现CDC(usb转串口功能)

主控&#xff1a;stm32f429 PHY芯片&#xff1a;usb3320 Cubemx System Core-RCC connectivity-USB_OTG_HS Middleware and Software Packs-USB_DEVICE 时钟配置&#xff1a;根据自己使用的MCU工作频率设置 Generate Code Keil5 打开工程 usbd_cdc_if.c这个文件&…...

ubuntu 网络管理--NetworkManager

ubuntu 网络管理--NetworkManager 1 介绍2 NetworkManager 命令2 nmcli 命令显示可用的wifi AP连接wifi检查网络连接 ?? 如何删除删除网络连接查看设备状态添加一个新的以太网连接设置静态 IP 地址启用并测试连接添加新的wifi连接 3 其他命令参考 1 介绍 NetworkManager 是标…...

FLV视频封装格式详解

目录(?)[-] OverviewFile Structure The FLV headerThe FLV File BodyFLV Tag Definition FLVTAGAudio TagsVideo TagsSCRIPTDATA onMetaDatakeyframes Overview Flash Video(简称FLV),是一种流行的网络格式。目前国内外大部分视频分享网站都是采用的这种格式. File Structure…...

每天五分钟机器学习:核函数

本文重点 在学习支持向量机算法之前,我们要继续学习一些数学基础,本文我们将学习核函数的概念。当数据线性不可分的时候,此时就需要核函数出场了,它可以将低维不可分的数据映射到高维可分数据,此时就可以完成数据分类了。 核函数的定义 核函数K(x, y)定义为两个数据点x…...

Flutter开发HarmonyOS 鸿蒙App的好处、能力以及把Flutter项目打包成鸿蒙应用

Flutter开发HarmonyOS的好处&#xff1a; Flutter是谷歌公司开发的一款开源、免费的UI框架&#xff0c;可以让我们快速的在Android和iOS上构建高质量App。它最大的特点就是跨平台、以及高性能。 目前 Flutter 已经支持 iOS、Android、Web、Windows、macOS、Linux 的跨平台开发…...

4-pandas常用操作

前言 一、DataFrame修改index、columns 1.获取index df2 pd.DataFrame(np.arange(9).reshape(3,3),index[sh,cs,bj],columns[a,b,c]) df2.index 2.修改index df2.index [shanghai,changsha,beijing] df2.columns [A,B,C] # 注意赋值的顺序 3.批量修改&#xff…...

Suno Api V4模型无水印开发「综合实战开发自己的音乐网站」 —— 「Suno Api系列」第14篇

历史文章 Suno AI API接入 - 将AI音乐接入到自己的产品中&#xff0c;支持120并发任务 Suno Api V4模型无水印开发「灵感模式」 —— 「Suno Api系列」第1篇 Suno Api V4模型无水印开发「自定义模式」 —— 「Suno Api系列」第2篇 Suno Api V4模型无水印开发「AI生成歌词」…...