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

guvcview-源码记录

guvcview源码记录

  • 一、概述
  • 二、项目结构
    • 1. guvcview
    • 2. gview_audio
    • 3. gview_encoder
    • 4. gview_render
      • 1. render.c
      • 2. render_sdl2.c
      • 3. render_osd_crosshair.c
      • 4. render_osd_vu_meter.c
      • 5. render_fx.c
    • 3. gview_v4l2core
  • 三、
  • 四、
  • 五、
  • 六、

一、概述

项目地址:guvcview http://guvcview.sourceforge.net

git clone https://git.code.sf.net/p/guvcview/git-master guvcview-git-master

二、项目结构

项目主要有以下五个模块构成,其目录结构如下:
在这里插入图片描述

guvcview模块为完整的应用,包括主窗口的显示,参数配置窗口。
在这里插入图片描述

1. guvcview

2. gview_audio

3. gview_encoder

4. gview_render

这里记录一下渲染模块的逻辑
在这里插入图片描述

1. render.c

对外提供的渲染接口,具体实现接口可以选择SDL或者是SFML实现,这里优先记录SDL的内容

2. render_sdl2.c

使用SDL实现rander.c中的函数

3. render_osd_crosshair.c

这个函数是界面中OSD配置的功能
在这里插入图片描述
就是相机中的这个十字准星
在这里插入图片描述
函数解读:
render_osd_crosshair 调用 plot_crosshair_yu12函数,通过对传入的YUV图像进行绘制。

render_osd_crosshair 函数主要是处理一下十字准星的颜色,将RGB转为YUV格式,具体实现在plot_crosshair_yu12。

/** 渲染十字准星* args:*   frame - 传入 yuyv 数据的指针*   width - 图像宽度*   height - 图像高度** asserts:*   none** returns: none*/
void render_osd_crosshair(uint8_t *frame, int width, int height)
{yuv_color_t color;color.y = 0;color.u = 0;color.v = 0;uint32_t rgb_color = render_get_crosshair_color();int size = render_get_crosshair_size();uint8_t r = (uint8_t) ((rgb_color & 0x00FF0000) >> 16);uint8_t g = (uint8_t) ((rgb_color & 0x0000FF00) >> 8);uint8_t b = (uint8_t) (rgb_color & 0x000000FF);color.y = CLIP(0.299*(r-128) + 0.587*(g-128) + 0.114*(b-128) + 128) ;color.u = CLIP(-0.147*(r-128) - 0.289*(g-128) + 0.436*(b-128) + 128);color.v = CLIP(0.615*(r-128) - 0.515*(g-128) - 0.100*(b-128) + 128);plot_crosshair_yu12(frame, size, width, height, &color);
}

准星由四条线构成,需要对Y和UV分量单独覆盖

/** plot a crosshair in a yu12 frame (planar)* args:*   frame - pointer to yu12 frame data*   size  - frame line size in pixels (width)十字准星短线的长度*   width - width,图像宽度*   height - height,图像高度*   color - line color** asserts:*   none** returns: none*/
static void plot_crosshair_yu12(uint8_t *frame, int size, int width, int height, yuv_color_t *color)
{//找到YUV数据的地址uint8_t *py = frame;uint8_t *pu = frame + (width * height);uint8_t *pv = pu + ((width * height) / 4); /*y - 1st vertical line*/int h = (height-size)/2;for(h = (height-size)/2; h < height/2 - 2; h++){py = frame + (h * width) + width/2;*py = color->y;}/*y - 1st horizontal line*/int w = (width-size)/2;for(w = (width-size)/2; w < width/2 - 2; w++){py = frame + ((height/2) * width) + w;*py = color->y;}/*y - 2nd horizontal line*/for(w = width/2 + 2; w < (width+size)/2; w++){py = frame + ((height/2) * width) + w;*py = color->y;}/*y - 2nd vertical line*/for(h = height/2 + 2; h < (height+size)/2; h++){py = frame + (h * width) + width/2;*py = color->y;}/*u v - 1st vertical line*/for(h = (height-size)/4; h < height/4 - 1; h++) /*every two rows*/{pu = frame + (width * height) + (h * width/2) + width/4;*pu = color->u;pv = pu + (width * height)/4;*pv = color->v;}/*u v - 1st horizontal line*/for(w = (width-size)/4; w < width/4 - 1; w++) /*every two rows*/{pu = frame + (width * height) + ((height/4) * width/2) + w;*pu = color->u;pv = pu + (width * height)/4;*pv = color->v;}/*u v - 2nd horizontal line*/for(w = width/4 + 1; w < (width+size)/4; w++) /*every two rows*/{pu = frame + (width * height) + ((height/4) * width/2) + w;*pu = color->u;pv = pu + (width * height)/4;*pv = color->v;}/*u v - 2nd vertical line*/for(h = height/4 + 1; h < (height+size)/4; h++) /*every two rows*/{pu = frame + (width * height) + (h * width/2) + width/4;*pu = color->u;pv = pu + (width * height)/4;*pv = color->v;}
}

4. render_osd_vu_meter.c

这个文件是绘制音量键区域
在这里插入图片描述
激活就在录制视频时候激活
在这里插入图片描述

这个文件有三个函数

  • plot_box_yu12:音量块儿
  • plot_line_yu12:短线
  • render_osd_vu_meter:组合上述音量块和短线组成的控件

在这里插入图片描述

5. render_fx.c

这个文件中是特殊的滤镜特效实现,具体内容比较多,
在这里插入图片描述
实现的函数具体如下
在这里插入图片描述

3. gview_v4l2core

三、

四、

五、

六、

相关文章:

guvcview-源码记录

guvcview源码记录 一、概述二、项目结构1. guvcview2. gview_audio3. gview_encoder4. gview_render1. render.c2. render_sdl2.c3. render_osd_crosshair.c4. render_osd_vu_meter.c5. render_fx.c 3. gview_v4l2core 三、四、五、六、 一、概述 项目地址&#xff1a;guvcvie…...

对比2款国产远控软件,贝锐向日葵更优

贝锐向日葵和ToDesk是两款国产的远程控制软件&#xff0c;其中贝锐向日葵比较老牌&#xff0c;2009年就推出了最早的版本&#xff0c;而ToDesk则是在前几年疫情期间出现的。如果要在这两款远控软件中进行一个对比和选择&#xff0c;我们可以从功能配置、性能表现、系统支持、使…...

SOC估算:开路电压修正的安时积分法

SOC估算&#xff1a;开路电压修正的安时积分法 基本概念 开路电压修正的安时积分法是一种结合了两种SOC估算方法的混合技术&#xff1a; 安时积分法&#xff08;库仑计数法&#xff09; - 通过电流积分计算SOC变化 开路电压法 - 通过电池电压与SOC的关系曲线进行校准 方法原…...

maxscript根据音频创建动画表情

方案1&#xff1a; Python pydub / Audacity phoneme recognition 来提取语音中的音素&#xff08;phonemes&#xff09;并输出为 JSON 供 3ds Max 使用 方案2: Papagayo输出.pgo 文件&#xff0c;通过 Python 脚本解析&#xff0c;然后转换成 JSON。 下面介绍下方案2&#…...

使用ast解ob混淆时关于types的总结

在AST解OB混淆过程中&#xff0c;babel/types模块&#xff08;简称types&#xff09;是核心操作工具&#xff0c;以下是典型应用场景及具体代码示例&#xff1a; 一、字符串解密场景 场景&#xff1a;OB混淆常将字符串存储为十六进制或Unicode编码&#xff0c;需还原为明文 ty…...

每天学一个 Linux 命令(32):sort

​​可访问网站查看,视觉品味拉满: http://www.616vip.cn/32/index.html sort 是 Linux 中用于对文本文件的行进行排序的命令,支持按字典序、数字、月份等多种方式排序。以下是详细说明和示例: 命令语法 sort [选项]... [文件]...常用选项 -n 或 --numeric-sort 按数值大小…...

解释两个 Django 命令 makemigrations和migrate

python manage.py makemigrations 想象一下&#xff0c;你正在设计一个房子。在开始建造之前&#xff0c;你需要一个详细的蓝图来指导建筑过程。在 Django 中&#xff0c;当你定义或修改模型&#xff08;比如 Employee&#xff09;&#xff0c;你实际上是在设计数据库的“房子…...

tkinter的窗口构建、原生组件放置和监测事件

诸神缄默不语-个人技术博文与视频目录 本文关注用Python3的tkinter包构建GUI窗口&#xff0c;并用tkinter原生组件来进行排版&#xff08;通过pack() / grid() / place()&#xff0c;并监测基础的事件&#xff08;如按钮被点击后获取文本框输入信息、单/多选框选择结果等&…...

Hot100方法及易错点总结2

本文旨在记录做hot100时遇到的问题及易错点 五、234.回文链表141.环形链表 六、142. 环形链表II21.合并两个有序链表2.两数相加19.删除链表的倒数第n个节点 七、24.两两交换链表中的节点25.K个一组翻转链表(坑点很多&#xff0c;必须多做几遍)138.随机链表的复制148.排序链表 N…...

WebUI可视化:第6章:项目实战:智能问答系统开发

第6章:项目实战:智能问答系统开发 学习目标 ✅ 完整实现前后端分离的问答系统 ✅ 掌握本地AI模型的集成方法 ✅ 实现对话历史管理功能 ✅ 完成系统部署与性能优化 6.1 项目整体设计 6.1.1 系统架构 graph TDA[用户界面] -->|输入问题| B(Web服务器)B -->|调用模型| …...

项目质量管理

项目质量管理核心要点与高频考点解析 一、项目质量管理核心框架 三大核心过程&#xff1a; 规划质量管理&#xff1a;制定质量标准和计划&#xff08;预防为主&#xff09;。实施质量保证&#xff1a;审计过程&#xff0c;确保符合标准&#xff08;过程改进&#xff09;。控…...

利用TTP协议 ETag + 路由守卫 实现前端发版后通知用户更新得一个方案

利用 ETag 做提示更新的实现方案 ETag&#xff08;Entity Tag&#xff09;是万维网协议HTTP的一部分&#xff0c;是HTTP协议提供的若干机制中的一种Web缓存验证机制&#xff0c;是一个可以与Web资源关联的记号&#xff08;token&#xff09;&#xff0c;并且允许客户端进行缓存…...

uniapp-商城-36-shop 购物车 选好了 进行订单确认2 支付方式颜色变化和颜色滤镜filter

颜色滤镜&#xff0c;在好多网页都这样使用&#xff0c;滤掉彩色&#xff0c;显示黑白&#xff0c;这在一些关键的日子中都这样使用。 1、依然回到订单确认页面 看到支付的颜色了嘛&#xff1f; <view class"payType"><view class"box" :class&q…...

CSRF请求伪造

该漏洞主要是关乎于用户&#xff0c;告诫用户不可乱点击链接&#xff0c;提升自我防范&#xff0c;才能不落入Hacker布置的陷阱&#xff01; 1. cookie与session 简单理解一下两者作用 1.1. &#x1f36a; Cookie&#xff1a;就像超市的会员卡 存储位置&#xff1a;你钱包里…...

爬虫瑞数6案例:深圳大学总医院,webEnv补环境

爬虫瑞数6案例:深圳大学总医院,webEnv补环境 一、准备工作二、webEnv补环境三、验证cookie四、验证请求结果五、总结声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关 前言: 之前出了一篇深圳大学总医院爬虫教程,那时候…...

运维 vm windows虚拟机nat网络配置

参考 VMWare虚拟机网络配置 - 秋夜雨巷 - 博客园 vm设置虚拟网络段 设置网络段 网关地址 设置DHCP 自动化分配网络段 主机&#xff1a;设置ip 控制面板\所有控制面板项\网络连接 出现设置的虚拟机网卡 设置ip 虚拟机&#xff1a;设置ip...

PPO 强化学习机械臂 IK 训练过程可视化利器 Tensorboard

视频讲解&#xff1a; PPO 强化学习机械臂 IK 训练过程可视化利器 Tensorboard PPO 强化学习过程中&#xff0c;设置了verbose会显示数据&#xff0c;但还是不够直观&#xff0c;这里上一个可视化利器&#xff0c;Tensorboard&#xff0c;实际上stable baselines3中已经有了这部…...

巧记英语四级单词 Unit5-中【晓艳老师版】

ignore v.无视&#xff0c;不理睬 发音“一个闹”&#xff0c;对付一个无理取闹的孩子&#xff0c;最好的方式就是无视 不理睬ignorant a.无知的&#xff0c;不礼貌的 对于什么事都无视&#xff0c;中国第一个不平等条约问也不知道就是无知的neglect n.忽视 negative消极的&a…...

Linux操作系统从入门到实战(三)Linux基础指令(上)

Linux操作系统从入门到实战&#xff08;三&#xff09;Linux基础指令&#xff08;上&#xff09; 前言一、ls 指令二、pwd三、cd四、touch 指令五、mkdir六、rmdir 指令和 rm 指令七、man 指令八、cp九、mv 指令十、cat 指令十一、 more 指令十二、less 指令十四、head 指令十五…...

MDF标准

MDF(Measurement Data Format),测量数据格式,是ASAM(自动化及测量系统标准协会)定义的, 是一种二进制文件,需要使用二进制文件编辑器查看. 作为一种紧凑的二进制格式,ASAM MDF提供了对海量测量数据的高效及高性能存储方案。MDF由松散耦合的二进制块组成,以实现灵活且高…...

如何本地无损放大图片保持高清画质

软件介绍 这款工具能让你轻松放大图片而不失真&#xff0c;最高支持4倍放大&#xff0c;并提供四种AI模型&#xff0c;适配不同风格的图像处理需求&#xff0c;包括普通照片、插画和漫画。它支持JPG、PNG、WEBP三种格式的输出&#xff0c;小巧便携&#xff0c;仅占用54.1MB空…...

【视频时刻检索】Text-Video Retrieval via Multi-Modal Hypergraph Networks 论文阅读

Text-Video Retrieval via Multi-Modal Hypergraph Networks 论文阅读 ABSTRACT1 INTRODUCTION2 PRELIMINARIES3 OUR FRAMEWORK3.1 Multi-Modal Hypergraph Networks3.2 Variational Inference 4 EXPERIMENT6 CONCLUSION 文章信息&#xff1a; 发表于&#xff1a;WSDM 24 原文…...

PowerShell脚本实现|从文件夹动画序列中均匀选取关键帧(保留首尾帧)

文章目录 1. 问题概述2. 两种实现方案方案一&#xff1a;自动计算法&#xff08;推荐&#xff09;方案二&#xff1a;手动列表法 3. 操作流程对比4. 注意事项5. 常见问题解决6. 总结建议 1. 问题概述 我们经常需要从动画序列中选取关键帧&#xff0c;例如&#xff1a; 文件名…...

红黑树——如何靠控制色彩实现平衡的?

目录 引言 一、认识红黑树&#xff08;RBTree&#xff09; 二、为什么有了AVL树&#xff0c;还要红黑树&#xff1f; 1、AVL树 vs 红黑树&#xff0c;两棵树区别 2、如何选择&#xff1f; 三、红黑树的核心操作 3.1、红黑树结构定义 3.2、插入操作 四、红黑树的验证 …...

金仓数据库KingbaseES技术实践类深度剖析与实战指南

一、语法兼容及迁移实战 &#xff08;一&#xff09;语法兼容的多元魅力 在当今多元化的数据库应用环境中&#xff0c;金仓数据库管理系统KingbaseES凭借其卓越的语法兼容能力脱颖而出。它采用的融合数据库架构&#xff0c;通过多语法体系一体化架构&#xff0c;实现了对Orac…...

Estimands与Intercurrent Events:临床试验与统计学核心框架

1. Estimands(估计目标)概述 1.1 定义与作用 1.1.1 定义 Estimand是临床试验中需明确提出的科学问题,即研究者希望通过数据估计的“目标量”,定义“治疗效应”具体含义,确保分析结果与临床问题一致。 例如,在研究某种新药对高血压患者降压效果时,Estimand可定义为“在…...

测试基础笔记第十二天

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、python基础1.认识python2.python环境搭建1.安装Python解释器2.安装PyCharm 3.基础语法1.注释2.变量3.标识符4.数据类型 4.程序的输入和输出1.程序的输入2.程序的…...

0. Selenium工具的安装

目录 前言一、安装Chrome浏览器与驱动1 安装2. 解压驱动包并将其放到Python目录中 二、安装Selenium0 前置条件&#xff1a;已经安装了Python1. 安装2.检查是否安装成功3. 测试用例 前言 提示&#xff1a;本篇介绍selenium工具的安装和使用 一、安装Chrome浏览器与驱动 1 安…...

MySQL元数据库完全指南:探秘数据背后的数据

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…...

嵌入式鸿蒙系统环境搭建与配置要求实现01

各位开发者大家好,今天主要给大家分享一下,鸿蒙系统的环境配置实现。 第一:鸿蒙配置基本要求 对电脑的要求,虚拟机配置建议 200GB 硬盘大小,10GB 内存,4*2CPU。 安装必要的依赖文件方法: sudo apt-get update && sudo apt-get install binutils git git-lfs g…...

【深度强化学习 DRL 快速实践】逆向强化学习算法 (IRL)

Inverse Reinforcement Learning (IRL) 详解 什么是 Inverse Reinforcement Learning&#xff1f; 在传统的强化学习 (Reinforcement Learning, RL) 中&#xff0c;奖励函数是已知的&#xff0c;智能体的任务是学习一个策略来最大化奖励 而在逆向强化学习 (Inverse Reinforc…...

Coding Practice,48天强训(23)

Topic 1&#xff1a;打怪&#xff08;回合数与刀数、先后手关系&#xff09; 登录—专业IT笔试面试备考平台_牛客网 #include <bits/stdc.h> using namespace std;int main() {int t;cin >> t;while (t--) {int h, a, H, A;cin >> h >> a >> H…...

策略模式(Strategy Pattern)详解

文章目录 1. 什么是策略模式&#xff1f;2. 为什么需要策略模式&#xff1f;3. 策略模式的核心概念3.1 策略&#xff08;Strategy&#xff09;3.2 具体策略&#xff08;Concrete Strategy&#xff09;3.3 上下文&#xff08;Context&#xff09; 4. 策略模式的结构5. 策略模式的…...

websheet 之 table表格

本控件只实现table的基础功能。 {.is-danger} 一、table基本使用 可以通过addTable函数动态增加table&#xff0c;代码如下&#xff1a; let tableColumn [];let col 1;tableColumn.push(测试 (col) 列);tableColumn.push(测试 (col) 列);tableColumn.push(测试 (col) …...

Python Cookbook-6.9 快速复制对象

任务 为了使用 copy.copy&#xff0c;需要实现特殊方法__copy__。而且你的类的__init__比较耗时所以你希望能够绕过它并获得一个“空的”未初始化的类实例。 解决方案 下面的解决方案可同时适用于新风格和经典类: def empty_copy(obj):class Empty(obj.__class__):def __in…...

Linux NIO 原理深度解析:从内核到应用的高性能 I/O 之道

Linux 的 ​非阻塞 I/O&#xff08;Non-blocking I/O&#xff0c;NIO&#xff09;​​ 是构建高性能服务器的核心技术&#xff0c;其核心思想是通过 ​事件驱动模型​ 和 ​零拷贝技术​ 实现高并发、低延迟的网络通信。以下从底层机制到实际应用进行全面剖析。 一、Linux I/O …...

Redis 集群切片全解析:四种常见技术的原理、优劣与应用

Redis 集群切片是将数据分散存储在多个 Redis 节点上的技术&#xff0c;以提高系统的可扩展性和性能。以下是一些常见的 Redis 集群切片方式&#xff1a; 1.哈希切片 原理&#xff1a;通过对数据的键进行哈希运算&#xff0c;将哈希值映射到不同的切片&#xff08;槽&#xf…...

html中margin的用法

在 HTML 页面布局中&#xff0c;margin 是 CSS 中用于设置 元素与元素之间的外边距&#xff08;即元素外部的空白区域&#xff09; 的属性。 它可以单独设置四个方向的边距&#xff1a;上&#xff08;top&#xff09;、右&#xff08;right&#xff09;、下&#xff08;bottom…...

网络流量分析 | 流量分析基础

流量分析是网络安全领域的一个子领域&#xff0c;其主要重点是调查网络数据&#xff0c;以发现问题和异常情况。本文将涵盖网络安全和流量分析的基础知识。 网络安全与网络中的数据 网络安全的两个最关键概念就是&#xff1a;认证&#xff08;Authentication&#xff09;和授…...

语音合成之六端到端TTS模型的演进

端到端TTS模型的演进 引言Tacotron&#xff1a;奠基之作FastSpeech&#xff1a;解决效率瓶颈VITS&#xff1a;实现高保真和富有表现力的语音SparkTTS&#xff1a;利用LLM实现高效可控的TTSCosyvoice&#xff1a;一种可扩展的多语种TTS方法端到端TTS模型的演进与未来方向 引言 …...

文件的读取操作

#import time # 导入time 库 # 打开文件 fileopen("E:\Dasktape/python_test.txt","r",encoding"UTF-8")# 读取文件 print(f"读取文件的所有内容内容:{file.read()}\n") #\n是换行字符 print(f"读取10个字节的文件内容:{file.re…...

【Linux学习笔记】进程的fork创建 exit终止 wait等待

【Linux学习笔记】进程的fork创建 exit终止 wait等待 &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;Linux学习笔记 文章目录 【Linux学习笔记】进程的fork创建 exit终止 wait等待前言1.进程创建1.1 fork函数初识1.2fork函数返回值1.3写时拷…...

一种专用车辆智能配电模块的设计解析:技术革新与未来展望

关键词&#xff1a;智能配电模块、STM32、CAN总线、电子开关、新能源汽车 引言&#xff1a;传统配电系统的痛点与智能化转型 传统配电系统依赖继电器和保险丝&#xff0c;存在体积大、寿命短、智能化低等缺陷&#xff08;如图1&#xff09;。而新能源汽车和无人驾驶技术对配电…...

第TR5周:Transformer实战:文本分类

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 1.准备工作 1.1.加载数据 import torch import torch.nn as nn import torchvision import os,PIL,warnings import pandas as pd warnings.filterwarnings…...

Python爬虫(4)CSS核心机制:全面解析选择器分类、用法与实战应用

目录 一、背景与重要性‌二、CSS选择器基础与分类‌2.1 什么是选择器&#xff1f;‌2.2 选择器分类与语法‌ 三、核心选择器详解与实战案例‌3.1 基础选择器&#xff1a;精准定位元素‌3.2 组合选择器&#xff1a;元素关系控制‌3.3 伪类与伪元素&#xff1a;动态与虚拟元素‌3…...

复杂地形越野机器人导航新突破!VERTIFORMER:数据高效多任务Transformer助力越野机器人移动导航

作者&#xff1a; Mohammad Nazeri 1 ^{1} 1, Anuj Pokhrel 1 ^{1} 1, Alexandyr Card 1 ^{1} 1, Aniket Datar 1 ^{1} 1, Garrett Warnell 2 , 3 ^{2,3} 2,3, Xuesu Xiao 1 ^{1} 1单位&#xff1a; 1 ^{1} 1乔治梅森大学计算机科学系&#xff0c; 2 ^{2} 2美国陆军研究实验室&…...

ROS 快速入门教程04

12.激光雷达工作原理 激光雷达的作用是探照周围障碍物的距离&#xff0c;按照测量维度可以分为单线雷达和多线雷达。 按照测量原理可以分为三角测距雷达和TOF雷达。按照工作方式可以分为固态雷达和机械旋转雷达。 本次讲解以TOF雷达为例&#xff0c;雷达发射器发射激光遇到障碍…...

Node.js 开发项目

初始化 npm init## npm install 编辑packege.json 添加&#xff0c;以支持ES6的语法 "type": "module" 连接mysql示例 import db from ./db/ops_mysql.jsconst createTable async () > {const insert_data CREATE TABLE IF NOT EXISTS users (…...

Linux系统下的常用网络命令

1.ping命令 作用&#xff1a;用来检测网络的连通情况和分析网络速度&#xff1b;根据域名得到服务器IP&#xff1b;根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。 参数&#xff1a;-c 数字&#xff1a;设定ping命令发出的消息包数量&#xff0c;如无…...

【器件专题1——IGBT第1讲】IGBT:电力电子领域的 “万能开关”,如何撑起新能源时代?

一、IGBT 是什么&#xff1f;重新认识这个 “低调的电力心脏” 你可能没听过 IGBT&#xff0c;但一定用过它驱动的设备&#xff1a;家里的变频空调、路上的电动汽车、屋顶的光伏逆变器&#xff0c;甚至高铁和电网的核心部件里&#xff0c;都藏着这个 “电力电子开关的瑞士军刀”…...