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

计算机视觉中的数学:几何变换与矩阵运算详解

在这里插入图片描述
在这里插入图片描述

计算机视觉中的数学:几何变换与矩阵运算详解

  • 一、前言
  • 二、基础数学概念回顾​
    • 2.1 向量与向量运算​
      • 2.1.1 向量的定义​
      • 2.1.2 向量运算​
    • 2.2 矩阵基础​
      • 2.2.1 矩阵的定义与表示​
      • 2.2.2 矩阵运算​
  • 三、几何变换基础​
    • 3.1 平移变换​
      • 3.1.1 原理​
      • 3.1.2 代码示例(Python + OpenCV)​
    • 3.2 缩放变换​
      • 3.2.1 原理​
      • 3.2.2 代码示例(Python + OpenCV)​
    • 3.3 旋转变换​
      • 3.3.1 原理​
      • 3.3.2 代码示例(Python + OpenCV)​
  • 四、复杂几何变换与矩阵运算​
    • 4.1 仿射变换​
      • 4.1.1 原理​
      • 4.1.2 代码示例(Python + OpenCV)​
    • 4.2 透视变换​
      • 4.2.1 原理​
      • 4.2.2 代码示例(Python + OpenCV)​
  • 五、几何变换与矩阵运算的应用​
    • 5.1 图像配准​
    • 5.2 目标检测与识别​
    • 5.3 三维重建​
  • 六、总结​
  • 致读者一封信

计算机视觉中的数学:几何变换与矩阵运算详解,计算机视觉致力于让计算机模拟人类视觉系统,理解和解释图像与视频中的内容。在这一复杂的领域中,数学作为核心驱动力,为各种算法和技术提供了坚实的理论基础。几何变换和矩阵运算贯穿于计算机视觉的众多任务,从图像的预处理、特征提取到目标识别与追踪等,它们帮助我们对图像中的物体进行位置、形状和方向的调整与分析,实现对视觉场景的精确理解和处理。

在这里插入图片描述

一、前言

        计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。


👉👉👉 🥇 点击进入计算机视觉专栏,计算机视觉(CV)是人工智能的重要分支,致力于让机器通过数字图像或视频获取、处理和分析视觉信息,并模拟人类视觉的认知能力。本专栏涵盖基础概念、技术应用、前沿研究和实战案例等方向。

👉👉👉 🥇 点击进入计算机网络技术专栏,本专栏旨在深入探讨计算机网络的核心概念、关键技术、协议标准以及最新发展趋势,帮助读者全面理解网络通信的原理与实践。

👉👉👉 🥇 点击进入网络安全知识专栏,本专栏详细介绍了网络安全入门:理解基本概念和术语,网络安全的五大核心领域:防护、检测、响应、恢复与治理,常见的网络攻击类型及防范技巧,网络安全防护层次:从物理到应用的多重保障,企业网络安全的十大挑战及解决方案等。

二、基础数学概念回顾​

2.1 向量与向量运算​

2.1.1 向量的定义​

    在计算机视觉的二维或三维空间中,向量是具有大小和方向的量。在二维空间中,向量可以表示为​
v
=(x,y),其中x和y分别是向量在x轴和y轴上的分量。例如,向量在这里插入图片描述,其大小(模)为在这里插入图片描述,方向可以通过与x轴正方向的夹角​来确定。​

2.1.2 向量运算​

在这里插入图片描述
在这里插入图片描述

2.2 矩阵基础​

2.2.1 矩阵的定义与表示​

    矩阵是一个按照长方阵列排列的复数或实数集合。在计算机视觉中,常用的是二维矩阵,例如一个m×n的矩阵​A可表示为:​


在这里插入图片描述

2.2.2 矩阵运算​

在这里插入图片描述

三、几何变换基础​

3.1 平移变换​

3.1.1 原理​

在这里插入图片描述
    这里的3×3矩阵就是平移变换矩阵。

3.1.2 代码示例(Python + OpenCV)​

import cv2​ import numpy as np​ ​
# 读取图像​ image = cv2.imread('input_image.jpg')​ height, width, _ = image.shape​ ​
# 定义平移向量​ tx = 50​ ty = 30​ ​
# 创建平移变换矩阵​ translation_matrix = np.float32([[1, 0, tx], [0, 1, ty]])​ ​
# 应用平移变换​ translated_image = cv2.warpAffine(image, translation_matrix, (width, height))​ ​ cv2.imshow('Original Image', image)​ cv2.imshow('Translated Image', translated_image)​ cv2.waitKey(0)​ cv2.destroyAllWindows()​

    ​在这段代码中,cv2.warpAffine函数用于应用仿射变换,这里的平移变换矩阵translation_matrix是一个2×3的矩阵,因为cv2.warpAffine函数内部处理方式,在二维仿射变换中可以使用这种简化形式。​

3.2 缩放变换​

3.2.1 原理​

在这里插入图片描述

3.2.2 代码示例(Python + OpenCV)​

import cv2​
import numpy as np​
​
image = cv2.imread('input_image.jpg')​
​
# 定义缩放因子​
scale_x = 0.5​
scale_y = 0.5​
​
# 创建缩放变换矩阵​
scaling_matrix = np.float32([[scale_x, 0, 0], [0, scale_y, 0]])​
​
# 计算新的图像尺寸​
new_width = int(image.shape[1] * scale_x)​
new_height = int(image.shape[0] * scale_y)​
​
# 应用缩放变换​
scaled_image = cv2.warpAffine(image, scaling_matrix, (new_width, new_height))​
​
cv2.imshow('Original Image', image)​
cv2.imshow('Scaled Image', scaled_image)​
cv2.waitKey(0)​
cv2.destroyAllWindows()

    这里同样使用cv2.warpAffine函数,缩放变换矩阵scaling_matrix为2×3形式,cv2.warpAffine会根据矩阵和指定的输出尺寸对图像进行缩放变换。​

3.3 旋转变换​

3.3.1 原理​

在这里插入图片描述

3.3.2 代码示例(Python + OpenCV)​

import cv2​
import numpy as np​
​
image = cv2.imread('input_image.jpg')​
height, width, _ = image.shape​
​
# 计算图像中心​
center = (width // 2, height // 2)​
​
# 定义旋转角度(逆时针)​
angle = 45​
​
# 获取旋转矩阵​
rotation_matrix = cv2.getRotationMatrix2D(center, angle, 1.0)​
​
# 应用旋转变换​
rotated_image = cv2.warpAffine(image, rotation_matrix, (width, height))​
​
cv2.imshow('Original Image', image)​
cv2.imshow('Rotated Image', rotated_image)​
cv2.waitKey(0)​
cv2.destroyAllWindows()

    在这段代码中,cv2.getRotationMatrix2D函数用于生成绕指定中心旋转指定角度的2×3仿射变换矩阵,cv2.warpAffine函数利用该矩阵对图像进行旋转变换。​

四、复杂几何变换与矩阵运算​

4.1 仿射变换​

4.1.1 原理​

在这里插入图片描述
    其中,a,b,d,e决定了缩放、旋转和剪切等变换,c,f决定了平移变换。通过调整矩阵M的元素,可以实现各种复杂的仿射变换。

4.1.2 代码示例(Python + OpenCV)​

import cv2​
import numpy as np​
​
image = cv2.imread('input_image.jpg')​
height, width, _ = image.shape​
​
# 定义仿射变换矩阵​
affine_matrix = np.float32([[1, 0.5, 0], [0, 1, 50]])​
​
# 应用仿射变换​
affine_image = cv2.warpAffine(image, affine_matrix, (width, height))​
​
cv2.imshow('Original Image', image)​
cv2.imshow('Affine Transformed Image', affine_image)​
cv2.waitKey(0)​
cv2.destroyAllWindows()

    此代码中定义的仿射变换矩阵affine_matrix,第一行元素[1, 0.5, 0]和第二行元素[0, 1, 50]组合实现了水平方向的剪切和垂直方向的平移变换,cv2.warpAffine函数执行该仿射变换。​

4.2 透视变换​

4.2.1 原理​

在这里插入图片描述

4.2.2 代码示例(Python + OpenCV)​

import cv2​
import numpy as np​
​
image = cv2.imread('input_image.jpg')​
​
# 定义原图像中的四个点(四边形顶点)​
src_points = np.float32([[50, 50], [200, 50], [50, 200], [200, 200]])​
​
# 定义目标图像中的四个点(对应四边形顶点)​
dst_points = np.float32([[100, 50], [250, 50], [50, 250], [200, 250]])​
​
# 计算透视变换矩阵​
perspective_matrix = cv2.getPerspectiveTransform(src_points, dst_points)​
​
# 应用透视变换​
perspective_image = cv2.warpPerspective(image, perspective_matrix, (image.shape[1], image.shape[0]))​
​
cv2.imshow('Original Image', image)​
cv2.imshow('Perspective Transformed Image', perspective_image)​
cv2.waitKey(0)​
cv2.destroyAllWindows()

    ​在这段代码中,cv2.getPerspectiveTransform函数根据原图像和目标图像中的对应点对计算透视变换矩阵perspective_matrixcv2.warpPerspective函数利用该矩阵对图像进行透视变换,实现从原四边形区域到目标四边形区域的映射。​

五、几何变换与矩阵运算的应用​

5.1 图像配准​

    ​图像配准是将不同时间、不同传感器或不同视角下获取的同一场景的图像进行对齐的过程。几何变换和矩阵运算在其中起着关键作用。通过估计不同图像之间的平移、旋转、缩放或仿射变换参数,构建相应的变换矩阵,将一幅图像变换到与另一幅图像相同的坐标系下,实现图像的精确对齐。例如,在医学图像分析中,需要将同一患者不同时期的 CT 图像进行配准,以观察病情的发展变化,通过计算合适的几何变换矩阵,可以准确地将不同图像中的器官和组织对应起来。​

5.2 目标检测与识别​

    ​在目标检测与识别任务中,几何变换用于对训练数据进行增强,通过对原始图像进行平移、旋转、缩放等变换,生成更多不同姿态和尺度的样本,增加训练数据的多样性,提高模型的泛化能力。同时,在检测到目标后,利用几何变换可以对目标的位置和姿态进行精确估计。例如,在自动驾驶中,通过对摄像头采集的图像进行几何变换分析,可以确定车辆周围行人、车辆等目标的准确位置和方向,为决策系统提供关键信息。​

5.3 三维重建​

    ​在三维重建中,从多个二维图像恢复出物体的三维结构,需要利用几何变换和矩阵运算来建立图像之间的对应关系和空间几何模型。通过相机的内参矩阵(描述相机内部特性,如焦距、主点位置等)和外参矩阵(描述相机在世界坐标系中的位置和姿态),结合图像中的特征点匹配,利用几何变换计算出三维空间中物体的坐标。例如,在文物数字化重建中,通过对文物不同角度拍摄的多张图像进行几何变换和矩阵运算处理,可以精确构建文物的三维模型,实现文物的永久保存和虚拟展示。​

六、总结​

    ​几何变换与矩阵运算作为计算机视觉中的核心数学工具,为图像的处理、分析和理解提供了强大的支持。从简单的平移、缩放和旋转变换,到复杂的仿射变换和透视变换,每一种变换都通过特定的矩阵运算来实现,这些变换在图像配准、目标检测与识别、三维重建等众多计算机视觉应用中发挥着不可替代的作用。深入理解这些数学原理和操作方法,不仅有助于我们掌握现有的计算机视觉算法,更能为开发新的高效算法和解决复杂的实际问题奠定坚实的基础。随着计算机视觉技术的不断发展,几何变换与矩阵运算将在更多领域展现其​

致读者一封信

        亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。

         愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。

        至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。


----------- 业精于勤,荒于嬉 -----------

请添加图片描述

----------- 行成于思,毁于随 -----------

在这里插入图片描述


     💞 关注博主 带你实现畅游前后端

     🏰 大屏可视化 带你体验酷炫大屏

     💯 神秘个人简介 带你体验不一样得介绍

     🎀 酷炫邀请函 带你体验高大上得邀请


     ① 🉑提供云服务部署;
     ② 🉑提供前端、后端、应用程序、H5、小程序、公众号等相关业务;
     ③ 🉑提供产品测评,产品推广业务;
     如🈶合作请联系我,期待您的联系。
    :本文撰写于CSDN平台,作者:xcLeigh所有权归作者所有) ,https://xcleigh.blog.csdn.net/,如果相关下载没有跳转,请查看这个地址,相关链接没有跳转,皆是抄袭本文,转载请备注本文原地址。


     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌


原文地址:https://xcleigh.blog.csdn.net/article/details/147001192(防止抄袭,原文地址不可删除)

相关文章:

计算机视觉中的数学:几何变换与矩阵运算详解

计算机视觉中的数学:几何变换与矩阵运算详解 一、前言二、基础数学概念回顾​2.1 向量与向量运算​2.1.1 向量的定义​2.1.2 向量运算​ 2.2 矩阵基础​2.2.1 矩阵的定义与表示​2.2.2 矩阵运算​ 三、几何变换基础​3.1 平移变换​3.1.1 原理​3.1.2 代码示例&…...

华为数字芯片机考2025合集3已校正

1. 题目内容 下列说法正确的是()。 1. 解题步骤 1.1 选项分析 选项描述正误依据A异步 FIFO 采用格雷码是为了省功耗✗格雷码用于消除多比特信号跨时钟域的位跳变风险,与功耗无关B单比特信号打两拍可以完全避免亚稳态✗双触发器同步仅降低…...

启山智软的营销方法有哪些优势?

启山智软作为一家科技或软件企业,其营销方法的优势可能体现在以下几个方面,这些优势结合了行业特点与创新策略,帮助其在竞争激烈的市场中占据有利位置: ​​1. 技术驱动的精准营销​​ ​​数据挖掘与AI应用​​: 通…...

openpyxl合并连续相同元素的单元格

文章目录 前言一、openpyxl是什么?二、基础用法1.读取和写入文件2.合并单元格 三、合并单元格实战1.连续相同元素的索引范围2.转换3.获取列合并索引4.整体 总结 前言 python可以很方便的操作各种文档,比如docx,xlsx等。本文主要介绍在xlsx文…...

从零开始学java--泛型(二)

泛型 目录 泛型 泛型与多态 泛型方法 泛型的界限 泛型与多态 不只是类&#xff0c;包括接口、抽象类都可以支持泛型&#xff1a; public static void main(String[] args) {Score<String> scorenew Score<>("数学","aa","优秀"…...

设计模式 Day 6:深入讲透观察者模式(真实场景 + 回调机制 + 高级理解)

观察者模式&#xff08;Observer Pattern&#xff09;是一种设计结构中最实用、最常见的行为模式之一。它的魅力不仅在于简洁的“一对多”事件推送能力&#xff0c;更在于它的解耦能力、模块协作设计、实时响应能力。 本篇作为 Day 6&#xff0c;将带你从理论、底层机制到真实…...

深入理解 Shell:从原理到实战的全方位解析

1. 引言&#xff1a;什么是 Shell&#xff1f; Shell 是操作系统中最基础却最强大的工具之一。它是用户与操作系统之间的接口&#xff0c;一个命令行解释器&#xff0c;它接收用户输入的命令并调用操作系统内核完成相应的操作。 Shell 的含义包括两层&#xff1a; 交互式命令…...

图灵逆向——题六-倚天剑

从第六题开始就要有个先看看请求头的习惯了[doge]。 别问博主为什么要你养成这个习惯&#xff0c;问就是博主被坑过。。。 headers里面有一个加密参数S&#xff0c;然后你就去逆向这个S对吧。 然后一看响应&#xff1a; 好家伙返回的还是个密文&#xff0c;所以要两次逆向咯。…...

【WRF理论第十七期】单向/双向嵌套机制(含namelist.input详细介绍)

WRF运行的单向/双向嵌套机制 准备工作&#xff1a;WRF运行的基本流程namelist.input的详细设置&time_control 设置&domain 嵌套结构&bdy_control 配置部分 namelist 其他注意事项 嵌套说明双向嵌套&#xff08;two-way nesting&#xff09;单向嵌套&#xff08;one…...

【Springboot知识】Springboot进阶-Micrometer指标监控深入解析

文章目录 ​​Micrometer 核心概念与标准指标详解**Micrometer 核心概念与标准指标详解****一、Micrometer 核心概念****二、Micrometer 标准指标****1. JVM 监控指标****2. 系统资源监控****3. HTTP 请求监控****4. 数据库监控****5. 缓存监控** **三、配置与自定义指标****1.…...

Linux 的准备工作

1.root用户登录 首先讲一下root账户怎么登陆 直接 ssh root 公ip地址就可以了 比如我的是腾讯云的 这个就是公ip 下面所有普通用户的操作都是在root账户下进行的 2.普通用户创建 创建用户指令 adduser 用户名 比如说这个指令 我创建了一个ly_centos的普通用户 3.普通用…...

LLM实现模型并行训练:deepspeed 是什么; transformers` 怎么实现模型并行训练吗?

LLM实现模型并行训练:deepspeed 是什么 DeepSpeed是一个由微软开发的深度学习优化库,旨在帮助研究人员和工程师更高效地训练大规模神经网络。它提供了一系列的优化技术,包括混合精度训练、模型并行、数据并行、ZeRO优化等,以提高训练速度、减少内存占用,并支持在多个GPU或…...

STM32 HAL库之EXTI示例代码

外部中断按键控制LED灯 在main.c中 HAL_Init(); 初始化Flash&#xff0c;中断优先级以及HAL_MspInit函数&#xff0c;也就是 stm32f1xx_hal.c 中 HAL_StatusTypeDef HAL_Init(void) {/* Configure Flash prefetch */ #if (PREFETCH_ENABLE ! 0) #if defined(STM32F101x6) || …...

数字人情感表达突破:微表情自动生成的算法革新

——从量子化建模到联邦学习的全链路技术革命 一、行业痛点&#xff1a;传统数字人微表情的“三重困境” 2025年数据显示&#xff0c;83%的虚拟角色因微表情失真导致用户留存率下降&#xff08;头部游戏公司实测数据&#xff09;。传统方案面临核心矛盾&#xff1a; 制作成本…...

Django软删除功能完整指南:构建图书馆项目

Django软删除功能完整指南:构建图书馆项目 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 Django软删除功能完整指南:构建图书馆项目第 1 步:安装所需包第 2 步:设置您的 Django…...

联邦学习:AI 与大数据融合的创新力量

在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;和大数据无疑是推动各行业发展的两大核心技术。AI 凭借其强大的数据分析和预测能力&#xff0c;为企业提供了智能化决策支持&#xff1b;大数据则通过海量数据的收集与存储&#xff0c;为 AI 模型的训练提供了丰…...

idea解决tomcat项目页面中文乱码

概述 解决tomcat项目页面中文乱码问题-Dfile.encodingUTF-8 设置...

Android Coil 3 Fetcher大批量Bitmap拼接成1张扁平宽图,Kotlin

Android Coil 3 Fetcher大批量Bitmap拼接成1张扁平宽图&#xff0c;Kotlin <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE" /><u…...

解锁Midjourney创作潜能:超详细提示词(Prompts)分类指南

AI生图自由&#xff01;就来 ChatTools (https://chat.chattools.cn)&#xff0c;畅享Midjourney免费无限绘画。同时体验GPT-4o、Claude 3.7 Sonnet、DeepSeek等强大模型。 为了帮助大家更好地驾驭Midjourney&#xff0c;我们精心整理并分类了大量常用且效果出众的提示词。无论…...

HBuilder运行uni-app程序报错【Error: listen EACCES: permission denied 0.0.0.0:5173】

一、错误提示&#xff1a; 当使用HBuilder运行uni-app项目的时候提示了如下错误❌ 15:11:03.089 项目 project 开始编译 15:11:04.404 请注意运行模式下&#xff0c;因日志输出、sourcemap 以及未压缩源码等原因&#xff0c;性能和包体积&#xff0c;均不及发行模式。 15:11:04…...

k8s node inode被耗尽如何处理?

当 Kubernetes 节点因 inode 被耗尽导致 Pod 无法调度或运行异常时&#xff0c;需结合 Kubernetes 特性和 Linux 系统管理方法处理。以下是详细步骤&#xff1a; 1. 确认 inode 耗尽 首先登录问题节点&#xff0c;检查 inode 使用率&#xff1a; # 查看全局 inode 使用情况 …...

机器学习之PCA主成分分析详解

文章目录 引言一、PCA的概念二、PCA的基本数学原理2.1 内积与投影2.2 基2.3 基变换2.4 关键问题及优化目标2.5 方差2.6 协方差2.7 协方差矩阵2.8 协方差矩阵对角化 三、PCA执行步骤总结四、PCA参数解释五、代码实现六、PCA的优缺点七、总结 引言 在机器学习领域&#xff0c;我…...

leetcode797图论-对邻接矩阵和邻接表不同形式进行dfs与bfs遍历方法

给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节点的列表&#xff08;即从节点 i 到节点 graph[i][j]存在一条有向…...

Spark核心架构与RDD:大数据处理的基石

Apache Spark作为新一代分布式计算引擎&#xff0c;其高效性和灵活性源于独特的运行架构与核心数据结构RDD。本文简要解析Spark的核心组件及RDD的核心特性&#xff0c;帮助开发者快速理解其设计思想。 一、Spark运行架构 Spark采用标准的**Master-Slave架构&#xff0c;核心组…...

Python Orange:托拉拽玩转机器学习、数据挖掘!

相比写代码做数据挖掘&#xff0c;Python Orange简直是懒人和新手的救星&#xff01;传统编程得敲一行行代码&#xff0c;调库、debug 累得要死&#xff0c;而Orange靠拖拽就能搞定数据导入、清洗、可视化、建模、评估和无监督学习&#xff0c;支持跨Windows、Mac、Linux平台随…...

K8S学习之基础七十七:istio实现超时功能

istio实现超时功能 模拟客户端调用 nginx&#xff0c;nginx 将请求转发给 tomcat。nginx 服务设置了超时时间为2秒&#xff0c;如果超出这个时间就不在等待&#xff0c;返回超时错误。tomcat服务设置了响应时间延迟10秒&#xff0c;任何请求都需要等待10秒后才能返回。client …...

EFA-YOLO:一种高效轻量的火焰检测模型解析

论文地址:https://arxiv.org/pdf/2409.12635 目录 论文地址:https://arxiv.org/pdf/2409.12635 一、论文结构解析 二、核心创新点解读 1. EAConv(高效注意力卷积) 2. EADown(高效下采样) 三、实验结果对比 1. 精度指标对比 2. 实际检测效果 四、应用场景展望 …...

PyQt6实例_A股财报数据维护工具_解说并数据与完整代码分享

目录 1 20250403之前的财报数据 2 整个项目代码 3 工具使用方法 3.1 通过akshare下载 3.2 增量更新 3.3 查看当前数据情况 3.4 从数据库中下载数据 视频 1 20250403之前的财报数据 通过网盘分享的文件&#xff1a;财报三表数据20250403之前.7z 链接: https://pan.ba…...

【AAOS】【源码分析】CarAudioService(二)-- 功能介绍

汽车音频是 Android 汽车操作系统 (AAOS) 的一项功能,允许车辆播放信息娱乐声音,例如媒体、导航和通信。AAOS 不负责具有严格可用性和时间要求的铃声和警告,因为这些声音通常由车辆的硬件处理。将汽车音频服务集成在汽车中,彻底改变了驾驶体验,为驾驶员和乘客提供了音乐、…...

Python星球日记 - 第18天:小游戏开发(猜数字游戏)

&#x1f31f;引言&#xff1a; 上一篇&#xff1a;Python星球日记 - 第17天&#xff1a;数据可视化 名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。&#xff08;屈原《离骚》&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程…...

ShopXO v2.2.4开源商城手动部署(保姆级)+异常处理

ShopXO v2.2.4开源商城手动部署(保姆级) 1.项目了解 1.1项目简洁 ShopXO国内领先企业级免费开源电商系统&#xff01; 求实进取、创新专注、自主研发、国内领先企业级电商系统解决方案。遵循MIT开源协议发布&#xff0c;无需授权、可商用、可二次开发、满足99%的电商运营需…...

Android Studio - 解决 Please Select Android SDK

一、出现的问题 点击 Run 后弹窗&#xff0c;图一位置出现图二提示。 二、解决办法 进入 Tools -> SDK Manager&#xff0c;在 Android SDK Location 点击 Edit&#xff0c;一直 Next 就解决了。...

Java 列表初始化全解析:7种方式详解与最佳实践

文章目录 **引言****1. 传统逐个添加元素****特点****注意事项** **2. Arrays.asList() 构造函数****特点****注意事项** **3. 双括号初始化&#xff08;匿名内部类&#xff09;****特点****注意事项** **4. Java 9 List.of()&#xff08;不可变列表&#xff09;****特点****注…...

python之安装PaddlePaddle和PaddleX解析pdf表格

目录标题 飞桨PaddlePaddle本地安装教程1-1. 基于 Docker 安装飞桨1-2. 基于 pip 安装飞桨2. 我两个环境 都选择的是pip 安装10. 如果报错10. 离线安装 飞桨PaddlePaddle本地安装教程 源码下载&#xff1a;https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/do…...

MLA(Multi-Level Adaptive)融合算子全院级医疗编程探析(代码版)

MLA&#xff08;Multi-Level Adaptive&#xff09;融合算子的AI医疗技术原理、实现方法及医疗应用场景的深度解析&#xff1a; 一、MLA融合算子技术本质 1. 核心设计理念 MLA是一种硬件感知的算子重组技术&#xff0c;通过打破传统深度学习框架的算子边界&#xff0c;实现&a…...

Python----概率论与统计(概率论,互斥事件和概率和,非互斥事件和概率和,独立性事件,生日问题,条件概率)

一、概率论 1.1、概率论 概率论是研究随机现象的一门数学学科。它为不确定性提供了一个量化的框架&#xff0c;允许我们衡量事件发生的可能性。 概率论研究随机现象&#xff0c;用于量化和分析不确定性。它的基本概念包括&#xff1a; 样本空间&#xff08;Sample Space&…...

Ubuntu24.04 编译 Qt 源码

一&#xff1a;Ubuntu 把 Qt 拆成了多个源码包&#xff1a; 1. 基础包 2. 可选包 二&#xff1a;编译 qtbase-opensource-src 1. 配置源&#xff08;修改 /etc/apt/sources.list.d/ubuntu.sources) 2. 下载代码 apt source qtbase-opensource-src3. 安装依赖 sudo a…...

数据库无法插入中文字符

INSERT INTO book VALUES (1, ‘楚辞’, ‘屈原’, ‘中国文联出版社’, ‘0’) 1366 - Incorrect string value: ‘\xE6\xA5\x9A\xE8\xBE\x9E’ for column ‘name’ at row 1 查询时间: 0 秒 查看字符集设置 SHOW VARIABLES LIKE character_set%; SHOW VARIABLES LIKE colla…...

在Ubuntu系统如何让MySQL服务器支持远程连接

目录 问题描述 解决方案 步骤一&#xff1a;检查MySQL配置文件 ​编辑 步骤二&#xff1a;修改bind-address参数 ​编辑 步骤三&#xff1a;重启MySQL服务 步骤四&#xff1a;验证更改 步骤五&#xff1a;检查防火墙设置 步骤六&#xff1a;测试远程连接 注意事项 …...

【期中准备】电路基础(西电)

电路 题型&#xff1a;填空&#xff0c;简答&#xff08;概念&#xff09;&#xff0c;计算 PPT 1.X 电压和电流的参考方向一致&#xff0c;称为关联参考方向 消耗功率为正数&#xff1a;负载和电源由功率正负来定义 电路中所有原件功率之和为0&#xff08;“自产自销”&#…...

mysql 重复读自己事务中可以看到新插入数据

推荐好文 吃透MySQL&#xff08;六&#xff09;&#xff1a;事务详细介绍 地址转发https://blog.csdn.net/u013277209/article/details/113585022 开启客户端 mysql -u 账号名 -p 输入密码 在一个 事务中 mysql> set session transaction isolation level repeatable…...

Java后端开发-面试总结(集结版)

第一个问题&#xff0c;在 Java 集合框架中&#xff0c;ArrayList和LinkedList有什么区别&#xff1f;在实际应用场景中&#xff0c;应该如何选择使用它们&#xff1f; ArrayList 基于数组&#xff0c;LinkedList 基于双向链表。 在查询方面 ArrayList 效率高&#xff0c;添加…...

Python第八章03:Pyecharts快速入门

# pyecharts快速入门# 一、折线图基础应用# 导入python包 from pyecharts.charts import Line from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts,TooltipOpts,DataZoomOpts# 创建一个折线图对象 line Line() # 给折线图对象添加x、y轴的数据 l…...

BUUCTF-web刷题篇(17)

26.BabyUpload 源码&#xff1a;https://github.com/imaginiso/GXY_CTF/tree/master/Web/babyupload 查看题目源码&#xff1a; 写着&#xff1a;SetHandler application/x-httpd-php 通过源码可以看出这道文件上传题目主要还是考察.htaccess配置文件的特性&#xff0c;倘若…...

openfga原理及简单落地方案设计

源码地址 https://github.com/openfga OpenFGA 是一款高性能且灵活的授权/许可引擎,专为开发人员打造,灵感来自Google Zanzibar。它将强大的基于关系的访问控制 (ReBAC)和基于属性的访问控制 (ABAC)概念与领域特定语言相结合,可以轻松制定可以扩展和发展到任何规模的任何用例…...

混合并行技术在医疗AI领域的应用分析(代码版)

混合并行技术(专家并行/张量并行/数据并行)通过多维度的计算资源分配策略,显著提升了医疗AI大模型的训练效率与推理性能。以下结合技术原理与医疗场景实践,从策略分解、技术对比、编排优化及典型案例等维度展开分析: 一、混合并行技术:突破单卡算力限制 1. 并行策略三维分…...

深信服安全运营面试题

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…...

基于IDEA+SpringBoot+Mave+Thymeleaf的系统实现

一. 安装IntelliJ IDEA 下载并安装IntelliJ IDEA Ultimate或Community版 2024年最新版IntelliJ IDEA下载安装过程&#xff08;含Java环境搭建&#xff09; 二、下载 Maven 访问官网下载 打开浏览器&#xff0c;访问 Maven 官方下载页面&#xff1a; Download Apache Maven –…...

用Python爬虫抓取数据并保存为JSON的完整指南

本文将深入探讨如何利用Python爬虫技术抓取网页数据&#xff0c;并通过专业的数据处理流程将其保存为JSON格式。我们将以电商网站产品数据抓取为例&#xff0c;演示从基础实现到生产级优化的完整流程&#xff0c;涵盖反爬策略应对、数据清洗和大规模存储等关键环节。 一、环境…...

Tigshop| 一个基于Java的开源商城系统

在电商竞争愈发激烈的当下&#xff0c;一个强大且适配的商城系统是商家制胜的法宝 Tigshop官网 - 开源商城系统https://www.tigshop.com/ 一、卓越技术根基​ 前端体验升级​ Tigshop 运用 Vue3 与 TypeScript 搭建前端。Vue3 的响应式系统和 Composition API&#xff0c;让页…...