tag 标签: 系统

相关博文
  • 2024-6-20 17:20
    0 个评论
    随着自动驾驶技术的成熟,对系统架构师的需求逐渐增加。自动驾驶系统架构师负责设计整个系统的结构、组件、接口和数据流;需要协调不同领域的专业知识,确保系统的可靠性、安全性和性能。总之,自动驾驶系统架构师是一个新兴且不断发展的职业。随着技术的进步,这一领域将继续吸引更多人才,推动自动驾驶技术的发展。 自动驾驶架构师在设计和开发自动驾驶系统时将面临一系列挑战,包括:安全关键的边缘情况、领域概括、模拟数据、多模态传感器和传感器融合、动态场景等。作为一名自动驾驶系统架构师,需要综合考虑技术、业务和人员方面的要素;需要具备广泛的知识和技能,以便设计和构建复杂的自动驾驶系统。 初级自动驾驶架构师应该掌握智能网联汽车概论;软件定义汽车;计算机网络;汽车电子电器架构;智能汽车关键技术概述;环境感知与车联网通讯技术;规划与控制;嵌入式软件开发简介;ADAS算法开发;ACC功能设计;HWA功能开发;APA功能开发;详细的学习课程可关注微信公众号【 自动驾驶测试验证技术创新论坛】 微信号GRCC_Auto获取详细信息。
  • 热度 15
    2023-4-4 16:54
    1433 次阅读|
    0 个评论
    为什么树莓派爱好者在谈论 USB 启动时会感到兴奋?因为它使树莓派明显更快。或者,更准确地说,内存随闪存 (ROM) 传输。RPi 启动速度更快,尤其是在 64 位操作系统中,因为它是一个未压缩的内核。或者将页面从缓存加载到 Chromium 中。因此,任何使用闪存传输大量数据的东西都会更快。但是,例如,深度学习应用程序不会运行得更快,因为它们主要使用 RAM。你也不会更好地传输YouTube流;这与您的互联网带宽有关,与您的闪存卡无关。 USB启动如此受欢迎的另一个原因是,使用过的SSD卡比较小的SD卡磨损得更少。 硬件 USB 启动需要专用硬件。一个简单的USB 3.0盘可以完成这项工作,但传输速度与SD卡相同,约为80-100MB / s。网络,它会更糟一些,因为在初始化RPi板上的USB控制器时大约有0.5秒的开销。 只有使用快速 SSD 驱动器(400 MB/s 或更高),您才能从 USB 启动中充分受益。这些 SSD 驱动器不作为 USB 设备提供。需要一个额外的USB 3.0适配器将其连接到树莓。确保使用适合 UASP 传输的适配器。它是USB 3.0支持的新的,最快的协议。最后要考虑的一点是功耗。相对较小的SSD驱动器可以通过USB端口供电。这是首选,因为否则,您还需要额外的电源。一个相对便宜的组合是金士顿240GB A400 SATA 3(32欧元)和Inateck 2.5硬盘盒(15欧元)。 树莓派 4 USB 启动 树莓派巧妙地启动。启动后,位于EEPROM中的小程序立即仅加载I/O的驱动程序。这就是为什么,例如,即使没有插入SD卡,您仍然会看到诊断屏幕。然后,该程序尝试在树莓派中加载操作软件。完成后,它将控制权转移到树莓派,并在其余时间保持空闲状态。 到目前为止,启用USB启动的最简单方法是使用Raspberry Pi Imager。从 1.6 版开始,您可以找到适用于 USB 启动的专用 EEPROM 设置。看看下面的幻灯片。 在PC中插入(小型)SD卡,然后烧录您选择的EEPROM镜像。可以使用启动顺序首先是SD卡,其次是USB,或者在幻灯片中选择的启动顺序,USB优先,SD卡其次。使用树莓派 4 和 EEPROM 更新中新闪存的 SD 卡启动。屏幕变为绿色后,您的EEPROM已准备就绪。您始终可以通过简单地使用不同的设置重复上述过程来更改启动顺序。 其余过程与第一段中所述的标准SD卡安装相同。使用imager在 USB 设备上烧录树莓派 64 操作系统,从树莓派 4 中取出 SD 卡,然后将 USB 设备插入(蓝色)USB 3.0 连接器。现在,按照通常的安装顺序进行操作。 密切关注 USB 设备的功耗。一个SSD卡没有问题,但更多的就需要一个单独的电源集线器。 故障 排除 最常见的故障原因是 USB 到 SATA(SSD 卡)适配器不支持 UASP 协议。UASP代表USBAttachedSCSIProtocol,Raspberry Pi使用的一种极快的数据传输协议。一些适配器,如流行的JMicron,在某些UASP命令上会有问题。您会看到性能缓慢、频繁断开连接或错误报告。即使连接到USB 2.0也无法解决问题,因为Linux内核在看到USB 3.0设备时仍然使用UAS命令。 唯一的解决方案是在启动后立即使用命令禁用 UASP 传输。在command.txt文件中,您需要提供 USB 驱动器的硬件 ID。您可以通过将SSD驱动器连接到仍在SD卡上工作的Raspberry Pi的USB来获得它。 # Get the verdor and product ID $ lsusb 找到的数字在命令usb-storage.quirks=xxxx:yyyy:u中作为参数给出 此命令必须设置为 /boot/cmdline.txt中找到的长行中的第一个参数。 在 USB 文件夹的启动部分找到该文件。请参阅下面的屏幕转储,从常规SD卡启动的RPi。启动后连接 USB 设备。 你也可以使用nano编辑器 Benchmark 经过所有的努力,大多数人只想知道一件事:值得吗?答案很简单是肯定的。 您不仅拥有更多的内存空间,而且具有分布式磨损的SSD卡的使用寿命也比SD卡长得多。 而且SSD卡要快得多。您可以在树莓菜单上找到Benchmark测试工具。 执行后,您可以请求报告。 我们研究了三种不同的选择。首先是标准的SD卡,当然是最慢的。 第二种选择是带有不支持 UASP 的 SATA 到 USB 转换器的 SSD 卡;进步很大。 第三个选项是相同的SSD卡,但现在具有支持UASP的转换器。显然是最快的。 不得不说,如果没有UASP,你仍然有很多速度增益。 最后两点意见 在树莓诊断报告中,您会看到 IOPS。它代表每秒的 I/O 操作数。如您所见,一次读取或写入传输为 4 KBYTE。您可以将这些数字相乘以获得以每秒(兆)字节为单位的传输速率。 这些令人印象深刻的传输速率仅反映从ROM读取或写入数据,而不是工作存储器(RAM)。最终,您的Raspberry Pi将运行得更快,但是,例如,使用SSD卡在RAM中具有模型的深度学习应用程序不会更快。 启动顺序 对于高级用户,有引导加载程序配置文件指示Raspberry Pi将如何启动。在rpi-eeprom-config文件中,您可以定义两个媒体(SD、USB、UART、网络)尝试引导 RPi。如果第一个(例如SD卡)出现故障,它将尝试从第二个(可以是您的USB)启动。这样,当SSD驱动器发生故障时,您的SD卡可以用作一种备份。 但是请注意,一旦启动,您将只能使用该设备。换句话说,如果由于功能不当,您从“旧”SD卡而不是“新”SSD驱动器启动,则由于加载了“旧”SD卡文件结构,您将丢失SSD驱动器上的所有工作。如果您的 SSD 驱动器仍在内部启动或其电源尚不可用,则可能会发生这种情况。您必须采取预防措施来解决此问题。一定次数的引导重试可能是解决方案。 在开始修改rpi-eeprom-config文件之前,请仔细阅读此页面上的说明。 $ sudo -E rpi-eeprom-config --edit # modify BOOT_ORDER=0xf41 # first SSD (USB), second SD card $ BOOT_ORDER= 0xf14 # save + , , $ sudo reboot 同样,这适用于高级用户。大多数人只需从Pi中取出SD卡即可享受改进的性能。 文章转自: https://qengineering.eu/install-raspberry-64-os.html
  • 热度 3
    2022-5-10 20:25
    2356 次阅读|
    1 个评论
    工程中经常会用到的控制算法想必就是PID了,现代控制理论为何陷入了迷思呢? 不去尝试,永远不知道新理论和算法能不能用。本文希望能给出一些控制算法研究中的工程哲学供大家参考。 先进控制算法为何给大家感觉不如PID呢? 一种可能,别人用上了,效果好,自己用不上,乃至说不知道怎么用,只能用PID,这说明自己落后。 另外一种可能,有很多所谓先进的理论和算法确实很难在实际中用,根本就是为了发论文而做的。 还有一种可能,大家都在用PID,但控制效果远不能令人满足,只是暂时找不到/发现不了更好的方法。 另外有个值得注意的,底层是PID,看中上层是不是PID。即虽然是PID,但是是结合比如自适应、模糊、容错等等。而且PID的调参是否用了比如频域分析、鲁棒等等。 如何区分这几者,是很重要的。 控制算法要能处理known known,known unknown,unknown known,unknown unknown。 只此一件的控制系统,在较为确定的环境里工作,参数可以专门针对硬件,调到很好。但也会跟温室一样,系统乃至环境的很多东西有明确的规定,甚至细到某个螺丝要拧几圈半,外界的干扰要可忽略,等等。如此的系统,有时可以应用上较为复杂的控制算法,也就没有什么好稀奇的:known known知道,unknown known能通过对系统不断加深理解变成known known,known unknown、unknown unknown则可以通过对系统和环境的控制减少到可忽略。 但商业化产品中的控制系统,上量之后件件之间有差距,加上使用环境不确定的话,known unknown、unknown unknown都会大,而控制算法要能鲁棒(不仅限于传统鲁棒控制中的鲁棒)到可以处理到这些,即使known known、unknown known处理到最好。 比如一个信号,近似等于个高斯白噪声,用过去数据,估算出均值与方差,是known known。但肯定不准的,因为现实中就不存在标准的高斯白噪声,于是做出一个误差区间,有各种做法,算是known unknown。但known known跟known unknown加起来,也还是与实际有差距,是unknown unknown,是there is nothing you can do about it的了。但常被忽视的是unknown known,比如这个信号里面,可以分离出一个周期信号(不一定是正弦),是一个干扰。知道之后,unknown known变成known known。如此等等。前面说了,可以从不同层面考虑,比如信号分成确定部分和随机部分,确定部分是known known。但确定部分与实际的确定部分有差别,是unknown known。随机部分,知道分布的话,是known unknown。随机部分也与实际的随机部分有差别,是unknown unknown。如是如是,不一而足。从这个层面分析,不如上一段中的分析对实际有指导意义。 当然还有系统。比如一个系统,有输入输出数据,建模、辨识出一个LTI模型,有参数,是known known。但这个模型肯定不是完全吻合数据,所以要给一定的不确定性,比如在参数上,可能有个区间,是known unknown。即使加上这个区间,也还是与实际有差别,是谓unknown unknown。但如果一分析,发现这个模型其实可以分离成一个LTI模型,加上一个比如Wiener模型,就是unknown known被发现了。 当然也可以在不同的层面分析。参数很多,花时间调,总能调出个鼻子乱舞的大象,特别是在仿真中更是如此。但物理学的历史告诉我们,这个时候,应该是存在更有结构化的理论框架。当然,这样的理论框架,如PID,如Kalman滤波,等等,也还是留有一定的参数让在实际中调,因为known unknown与unknown unknown,是另一个层面的问题了。
  • 热度 2
    2019-5-31 10:53
    3300 次阅读|
    1 个评论
    解决HP ProLiant DL380 G5的Centos 7安装与启动不能识别硬盘问题 默认进入安装页面选择 选中“Install Centos 7” 按下【Tab】键 键入“空格” 键入“hpsa.hpsa_simple_mode=1 hpsa.hpsa_allow_any=1”参数 按下【回车】键 开始安装 安装完毕重新启动时硬盘还是无法识别 2.2、启动界面硬盘识别方法 启动后选择第一项 ········································(core) 按下【e】进入编辑状态 找到“linux17”行 选择到这一行的行尾 同样键入“hpsa.hpsa_simple_mode=1 hpsa.hpsa_allow_any=1”参数 按下【Ctrl+X】可正常引导 2.3、重启测试 reboot 搜索 复制
相关资源
  • 所需E币: 5
    时间: 6 天前
    大小: 1.54MB
    上传者: htwdb
    本文通过分析Matlab与C\C++等高级编程语言的优缺点,使用了Matlab与C++两者优势互补的混合编程的方式实现了Kalman滤波,该方法既实现了Matlab强大的数值方面运算能力的跨平台应用,又有高级编程语言执行效率高,界面编写功能强大的优点,并将Kalman滤波器应用于脑电信号的预处理,取得了较好的效果。主要工作有以下几点:1.介绍了脑电信号采集与处理中的脑机接口系统的大致组成及其工作流程,详细介绍了本文在脑机接口系统信号处理模块用到的Kalman滤波算法及ST(S-transform,S变换)算法和梯度Boosting(GradientBoosting,GB)算法相结合的特征提取和分类识别算法的基本原理。2.阐述了Matlab与VC++的优点及缺点,介绍了相关文献中前人整理过的传统的VC++6.0这一工具与Matlab混合编程的几种方式,并介绍了当前最新的VC++标准:C++0x/11标准以及VC++6.0的问题及与VS的区别。在此基础上,实现了新版的Visualstudio2010与MatlabR2012b的混合编程。
  • 所需E币: 5
    时间: 6 天前
    大小: 2.23MB
    上传者: htwdb
    本文采用S3C44BOX处理器及外围接口部件完成了嵌入式测试系统硬件平台的设计,在该硬件平台上实现了USB通信控制、键盘管理、LCD显示及uc/os-II实时操作系统移植等功能。采用PDIUSBDl2芯片作为从控制器芯片,以成本低、功耗小、速度快为标准构建了USB从机控制器。系统地完成了USB核心驱动程序和USB键盘驱动程序,完成了设备的枚举、配置等功能,实现了人机接口协议。uc/os-II实时操作系统作为该系统的底层软件设计和开发环境,用于多任务的调度管理。系统程序采用C语言编写,为了提高系统的实时性及效率,部分程序用C语言和汇编语言混合编程实现。经过软硬件的设计和调试,已实现了最初的设计目标。测试结果表明:该系统和USB驱动程序在pc/os-II操作系统及相关运行环境下可正确运行,成功实现了对USB键盘的检测和读操作,达到了USB从机功能模块的设计要求。 
  • 所需E币: 5
    时间: 2025-2-24 21:02
    大小: 19.25KB
    上传者: 木头1233
    基于51单片机的花卉智能培育系统开题报告基于51单片机的花卉智能培育系统开题报告
  • 所需E币: 5
    时间: 2025-2-24 20:59
    大小: 18.72KB
    上传者: 木头1233
    基于51单片机的多功能电子钟系统开题报告基于51单片机的多功能电子钟系统开题报告
  • 所需E币: 5
    时间: 2025-2-24 21:01
    大小: 18.39KB
    上传者: 木头1233
    基于51单片机的高精度测温系统开题报告基于51单片机的高精度测温系统开题报告
  • 所需E币: 5
    时间: 2025-2-24 21:35
    大小: 17.59KB
    上传者: 木头1233
    基于51单片机的简易三路抢答系统开题报告基于51单片机的简易三路抢答系统开题报告
  • 所需E币: 5
    时间: 2025-2-24 21:36
    大小: 19.18KB
    上传者: 木头1233
    基于51单片机的可视可听公交车自动报站系统开题报告基于51单片机的可视可听公交车自动报站系统开题报告
  • 所需E币: 5
    时间: 2024-12-26 12:07
    大小: 1.92MB
    上传者: 木头1233
    基于单片机电子秒表系统设计论文基于单片机电子秒表系统设计论文
  • 所需E币: 5
    时间: 2024-12-26 12:06
    大小: 538.73KB
    上传者: 木头1233
    基于单片机的直流电机调速系统设计论文基于单片机的直流电机调速系统设计论文
  • 所需E币: 5
    时间: 2025-1-6 14:43
    大小: 720.13KB
    上传者: 木头1233
    基于51单片机自动浇水系统设计论文基于51单片机自动浇水系统设计论文
  • 所需E币: 5
    时间: 2025-1-6 14:45
    大小: 39.5KB
    上传者: 木头1233
    基于单片机的指纹密码锁系统任务书基于单片机的指纹密码锁系统任务书
  • 所需E币: 5
    时间: 2025-1-6 14:42
    大小: 29KB
    上传者: 木头1233
    基于51单片机的自动浇花系统开题报告基于51单片机的自动浇花系统开题报告
  • 所需E币: 5
    时间: 2025-1-6 14:45
    大小: 33KB
    上传者: 木头1233
    基于单片机的指纹密码锁系统中期报告基于单片机的指纹密码锁系统中期报告
  • 所需E币: 5
    时间: 2025-1-8 22:24
    大小: 36.26KB
    上传者: 木头1233
    基于51单片机智能温控风扇系统开题报告基于51单片机智能温控风扇系统开题报告
  • 所需E币: 0
    时间: 2024-11-27 14:07
    大小: 3.25KB
    上传者: huangyasir1990
    一、ChatGLM定义ChatGLM是由清华技术成果转化的公司智谱AI发布的开源的、支持中英双语问答的对话语言模型系列,并针对中文进行了优化,该模型基于GeneralLanguageModel(GLM)架构构建,ChatGLM是一款基于人工智能技术的智能聊天机器人,它具备强大的自然语言处理能力,能够理解和回答我们的问题,通过与ChatGLM的对话,我们可以轻松获取各种信息,解决生活中的疑惑,甚至寻求专业建议,ChatGLM的出现,让我们在获取信息、解决问题上更加高效便捷。二、发展历程早期对话系统:最初的对话系统基于规则和模板,能够回答特定的问题或执行简单的任务。统计模型:随后,统计机器学习方法被用于对话系统,使得模型能够处理更多样化的输入。神经网络:深度学习的兴起带来了基于神经网络的对话系统,这些系统能够生成更自然的回答。预训练语言模型:BERT、GPT等预训练语言模型的出现极大地提升了对话系统的性能。专门化的聊天模型:随着技术的进步,出现了专门为聊天设计的模型,如Meena、DialoGPT、ChatGLM等。三、ChatGLM3-6B模型私有化部署ChatGLM-6B是一个开源的、支持中英双语的对话语言模型,基于GeneralLanguageModel(GLM)架构,具有62亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4量化级别下最低只需6GB显存)。ChatGLM-6B使用了和ChatGPT相似的技术,针对中文问答和对话进行了优化。经过约1T标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62亿参数的ChatGLM-6B已经能生成相当符合人类偏好的回答。四、AI数字人技术开发的几个关键趋势和进展:B端市场扩大:数字人的制造和运营服务市场正不断扩大,从传统的电影动画领域向广告营销、电商直播、虚拟偶像等多个领域扩展。未来,数字人有望为更广泛的C端用户提供服务。技术迭代:技术的不断迭代推动了数字人在外形上更接近真人,制作效能得到提升。这包括建模技术、物理仿真算法、渲染引擎和GPU算力的提升,以及动捕技术的优化。AI赋能:AI技术是数字人发展的重要推动力,它使得数字人能够进行多模态交互,更神似人。AI技术的应用不仅限于交互,还覆盖了数字人的全流程,包括视频生成、建模、动作捕捉等。融合发展:数字人技术与SLAM、3D交互、体积视频、空间音频等技术的深度融合,预示着渲染技术将从本地转移到云端,为数字人提供更强大的支持。行业应用:数字人将成为人机交互的新入口,应用场景广泛,从简单的信息服务到复杂的情感交流,数字人都能提供更好的用户体验。UGC模式:随着技术门槛和成本的降低,用户生成内容(UGC)的数字人将加速出现,成为产业的增量空间。显示设备:虽然数字人主要以2D显示设备为主,但3D显示设备如AR/VR眼镜等,将在特定领域提供新的解决方案。在场感:数字人发展的高级阶段将与应用场景深度耦合,提供更真实的沉浸感和更大的价值。艺术与技术双轮驱动:北京等地区有望成为数字人产业的新高地,艺术和技术的结合将推动数字人产业的发展。合规性:随着数字人产业的发展,版权保护和行业合规体系的建设也变得尤为重要,以确保数字人的可用性、可靠性、可知性和可控性。五、数字人技术开发的关键组成部分通常包括:人物建模:使用3D建模软件创建数字人的外形,包括面部特征、身体结构等。动作捕捉:通过捕捉真人的动作数据,将其映射到数字人模型上,使其能够做出逼真的动作。语音合成:将文本转换为口语,使用TTS技术让数字人能够“说话”。面部表情生成:利用AI算法生成逼真的面部表情和嘴型,以匹配其语音输出。动画生成:通过编程或AI算法生成数字人的动作和姿态变化。交互能力:集成NLP技术,使数字人能够理解用户的输入并做出适当的反应。个性化:允许用户根据个人喜好定制数字人的外观和行为。实时渲染:使用游戏引擎或其他实时渲染技术,使数字人能够在视频或直播中实时显示。云计算和边缘计算:提供必要的计算资源,支持数字人的高度复杂计算需求。API和SDK:为开发者提供工具和接口,以便他们可以创建自己的数字人应用。六、虚拟数字人的基本组成一个完整的AI虚拟数字人通常包括以下几个部分:视觉模型:3D模型或2D动画,用于展示虚拟人的外观。语音合成:将文本转换为语音,使虚拟人能够发声。自然语言处理(NLP):理解用户输入并生成相应的回应。动作驱动:根据语音和情绪驱动虚拟人的面部表情和肢体动作。七、语音合成与识别使用第三方API进行语音合成可以使用诸如GoogleText-to-Speech、AmazonPolly或微软AzureTTS等成熟的语音合成API。以下是一个使用Python调用GoogleTTS的示例:importopenaiopenai.api_key='your_api_key'defchat_with_gpt(prompt):  response=openai.Completion.create(   engine="davinci",   prompt=prompt,   max_tokens=150  )  returnresponse.choices[0].text.strip()user_input="你好,你是谁?"response=chat_with_gpt(user_input)print("AI:",response)
  • 所需E币: 0
    时间: 2024-8-26 12:23
    大小: 3.46KB
    上传者: huangyasir1990
    一、什么是流媒体流媒体是一种以流的形式在网络上进行数字媒体(音频、视频)传输的技术。它将频、音视频之类的连续媒体经压缩编码、数据打包后按照一定的时间间隔要求连续地发送给接收方,接收方在后续数据不断到达的同时对接收到的数据进行重组、解码和播放。如果你对流媒体感兴趣的话,可以看一下Live555,一个更流行且更专业的流媒体库。它支持了各种标准流媒体传输协议,如RTP/RTCP、RTSP、SIP,实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持。播放VLC和MPlayer都是基于它来实现流媒体播放的功能,并且非常适合嵌入式领域。二、视频编码 是指压缩编码。在计算机的世界中,一切都是0和1组成的,音视频的数据量庞大,如果按照裸流数据存储的话,那将需要耗费非常大的存储空间,也不利于传送。而音视频中,其实包含了大量0和1的重复数据,因此可以通过一定的算法来压缩这些0和1的数据。特别在视频中,由于画面是逐渐过渡的,因此整个视频中,包含了大量画面/像素的重复,这正好提供了非常大的压缩空间。因此,编码可以大大减小音视频数据的大小,让音视频更容易存储和传送。三、simple-rtmp-server[多种类型直播]一个简单高效的实时视频服务器,使用C++开发,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181。SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV四、音视频处理框架1.OpenCVOpenCV全称是OpenSourceComputerVisionLibrary,是一个跨平台的计算机视觉库,是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。可用于开发实时的图像处理、计算机视觉以及模式识别程序。OpenCV用C++语言编写,有大量的Python,JavaandMATLAB(版本2.5)的接口。2.GstreamerGStreamer是一个基于管道的多媒体框架,基于GObject,以C语言写成。可以很容易地创建各种多媒体功能组件,包括简单的音频回放,音频和视频播放,录音,流媒体和音频编辑。适用于所有主要操作系统,例如Linux、Android、Windows、MaxOSX、iOS,以及大多数BSD、商业Unix、Solaris和Symbian。GStreamers功能可以通过新插件进行扩展。3.FFmpeg一套开源的音视频处理的框架,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec(用于多个项目中音频和视频的解码器库)以及libavformat(音频与视频格式转换库)五、多媒体处理功能  多媒体视频处理工具FFmpeg有非常强大的功能[1]包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。视频采集功能    FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由FabriceBellard发起的,现在由MichaelNiedermayer主持。    ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可以进行屏幕录制,同时还支持以RTP方式将视频流传送给支持RTSP的流媒体服务器,支持直播应用。    ffmpeg在Linux下的视频采集    在Linux平台上,ffmpeg对V4L2的视频设备提高了很好的支持,如:    ./ffmpeg-t10-fvideo4linux2-s176*144-r8-i/dev/video0-vcodech263-frtprtp://192.168.1.105:5060>/tmp/ffmpeg.sdp    以上命令表示:采集10秒钟视频,对video4linux2视频设备进行采集,采集QCIF(176*144)的视频,每秒8帧,视频设备为/dev/video0,视频编码为h263,输出格式为RTP,后面定义了IP地址及端口,将该码流所对应的SDP文件重定向到/tmp/ffmpeg.sdp中,将此SDP文件上传到流媒体服务器就可以实现直播了。六、视频会议传输模块的开发选择视频会议主要是开发音视频、数据的传输的软件,在这些开发过程中,最核心的模块是传输模块,传输模块的性能直接影响到视频会议的最终质量,因此传输模块的选择在视频会议开发当中尤其重要。传输模块在开发过程中,由于考虑到QOS的影响,一般都会使用数据重发的技术,因此传输模块以及成为视频会议底层开发的一个重点,我们开发的传输模块,可以选择用TCP、UDP直接进行开发或者利用开源的传输库,因为一些开源传输库以及比较成熟,直接拿来用就可以,如果自己开发传输模块,估计也是一个巨大工程。现在我们介绍一下传输模块的开发选择。七、商用流媒体软件的选用如果项目在稳定性、安全性和责任约束上比较苛刻,还是建议选用商用产品。商用流媒体服务器软件的选择范围不大,基本上是国内外几家专业的公司在做,可选产品包括:Wowza、AdobeFlashMediaServer和国内NTVMediaServerG3等。Wowza是一个美国WowzaMediaSystems公司的产品,也是目前应用最广泛的一款流媒体服务器产品,在国内也有它的代理商。通过发放软件授权证书进行授权,可以按月、按年度购买使用授权,官网上有明确的报价。国内代理商加上自己的包装和技术支持费用,价格不一。AdobeFlashMediaServer是早些年使用最广泛的一款产品,产品成熟,价格相对高昂,随着Adobe公司退出中国市场,技术支持也主要有一些国内代理商负责。和Wowza一样,由于由国内厂商支持,加上语言、技术能力和时差等问题,在技术支持上并不尽人意。
  • 所需E币: 0
    时间: 2024-5-29 11:05
    大小: 3.26KB
    上传者: 开心就很好了
    一、什么是OpenCVOpenCV(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉和机器学习软件库。它由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV提供了大量的计算机视觉、图像处理和模式识别的算法,包括实时图像处理、视频分析、特征检测、目标跟踪、人脸识别、物体识别、图像分割、光流法、立体视觉、运动估计、机器学习和深度学习等。OpenCV是一个跨平台的库,支持多种操作系统,包括Linux、Windows、Android、MacOS和iOS等。它使用C++编写,同时也提供了Python、Java、MATLAB等语言的接口,方便不同编程语言的开发者使用。由于OpenCV的开源性和跨平台性,它已经成为计算机视觉领域最受欢迎的库之一,广泛应用于工业检测、医学影像处理、智能交通系统、安防监控系统、机器人视觉、游戏开发等领域。OpenCV的设计初衷是实现计算机视觉的自动化,帮助计算机去理解我们的世界,以便自动完成一些基本的任务。它提供了一系列的算法和工具,使得开发者可以更加便捷地实现各种计算机视觉应用。同时,OpenCV也支持多种硬件加速技术,如Intel的IPP和GPU加速,使得计算机视觉应用的性能得到了极大的提升。二、OpenCV4软件特性OpenCV4官方版是一款开源的跨平台计算机视觉库。OpenCV4最新版软件兼容性强,支持Linux、Windows、MacOS等多种操作系统,适用于机互动、物体识别、运动跟踪、图像分割等领域。OpenCV4软件内置了Python、MATLAB、Ruby等语言的接口,用户能够轻松的使用和修改代码。三、opencv主要模块calib3d:该模块由相机校准(calibration)和三维重建(3d)两个部分组成,主要用于相机标定与三维视觉等;core:OpenCV的内核模块,定义了基础数据结构与基础计算;dnn:该模块主要用于深度学习推理部署,不支持模型训练;features2d:该模块主要用于特征点处理,例如特征点检测与匹配等;flann:FLANN为快速最近邻算法(FastLibraryforApproximateNearestNeighbors)的缩写,该模块包含快速近似最近邻搜索和聚类等功能;gapi:该模块对图像处理算法做了加速处理,不属于OpenCV的功能模块;highgui:该模块用于创建图像化界面操作,例如创建和操作图像显示窗口、鼠标与键盘事件处理,进度条等图像化交互操作;imgcodecs:该模块负责图像文件读写,如图像读取与保存;imgproc:该模块是OpenCV图像处理最重要的模块,主要功能如图像滤波、图像几何变换、直方图操作等;ml:该模块为机器学习模块,包含常见的机器学习算法,如支持向量机和随机森林等;objdetect:该模块主要用于图像目标检测,例如Haar特征检测等;photo:该模块主要负责照片处理,如照片修复和去噪等;stitching:该模块负责图像拼接,功能包括图像特征点寻找与匹配等图像拼接技术;video:该模块用于视频分析,如运动估计、背景分离等;videoio:该模块负责视频读写,主要视频文件的读取和写入。四、opencv4比opencv3多了哪些OpenCV4相较于OpenCV3,主要增加了对SIFT与SURF的支持、改进了DNN模块、增加了对特定网络结构的支持、新增了DNN例程、以及功能提升。对SIFT与SURF的支持:在OpenCV3中,SIFT与SURF的API调用文件是包含在扩展模块中的。而在OpenCV4中,如果想要使用SIFT与SURF,需要从源代码中通过CMake编译生成Python版本的安装包。DNN模块的改进:OpenCV4对DNN模块进行了改进,包括:增加了对ONNX中LSTM、Broadcasting、Algebraoverconstants、Slicewithmultipleinputs的支持。增加了对DarkNet中groupedconvolutions、sigmoid、swish、scale_channels的支持。新增了对MobileNetV3-SSD目标检测网络的支持。改进了对TensorFlow、Darknet和ONNX模型导入的功能。新增的DNN例程:人体解析(服饰分割)例程Clothespartssegmentation。DaSiamRPN目标跟踪例程,该算法出自中科院和商汤科技ECCV2018的论文Distractor-awareSiameseNetworksforVisualObjectTracking。功能提升:imgproc模块中的霍夫变换进行圆检测的HoughCircles()函数新增了HOUGH_GRADIENT_ALT实现,显著提高了圆检测的召回率和精度。这些改进和新增功能使得OpenCV4在计算机视觉领域的应用更加广泛和高效。五、opencv配置配置OpenCV环境主要涉及下载、安装、环境变量设置、以及在VisualStudio中添加必要的目录和依赖项。以下是详细的步骤:1、下载和安装OpenCV:访问OpenCV官网,下载适合Windows版本的OpenCV。运行下载的exe文件进行安装2、环境变量设置:在系统属性的高级设置中,进入环境变量设置。在系统变量中,找到并编辑Path变量,添加OpenCV的路径。对于64位系统,通常需要添加的路径是opencv\build\x64\vc16\bin和opencv\build\bin。3、VisualStudio中添加目录和依赖项:打开VisualStudio,创建一个新的C++项目。在项目属性中,添加包含目录(IncludeDirectories),库目录(LibraryDirectories),以及必要的静态和动态链接库。4、测试配置:创建一个C++源文件,编写简单的代码来测试摄像头读取或图像显示功能。如果程序能够正确运行并显示图像或视频流,则说明OpenCV环境配置成功。这些步骤涵盖了从下载安装到环境配置的整个过程,确保在配置时注意区分Debug和Release模式下的不同设置,以及根据具体的OpenCV版本调整路径和文件名。
  • 所需E币: 0
    时间: 2024-3-12 10:43
    大小: 7.6MB
    上传者: htwdb
    随着计算机技术的飞速发展和生物识别技术的广泛应用,人们越来越多地关注身份认证的安全,指纹识别因其隐私性和便捷性,已经成为当前发展最成熟的身份认证技术,在各个行业领域中都得到了广泛应用.除了有着重要的理论意义和应用价值之外,指纹识别技术也是一门能广泛应用在信息安全、网络安全、犯罪处理等多个领域的综合性技术.本文以本人在校外实习期间参与完成的高性能指纹识别芯片课题为基础,详细介绍了指纹组成、特征及指纹识别算法流程,并对各个步骤的原理和算法具体实现过程做出了详细描述,并结合C语言指纹识别算法,针对PC端对系统时间、系统空间以及函数代码这三个方面提出了一些优化策略和方法.然后详细介绍了用MFC图形化界面设计指纹预处理图形交互界面的流程,通过对C语言各个模块函数的调用展示了指纹录入、指纹预处理的功能,并对界面进行优化,增强了软件界面的灵活性.   本文将研究设计分为"C语言算法描述与优化"和"MFC图形化界面设计"这两个主要部分:(1)C语言算法描述与优化:对指纹识别算法中指纹图像采集、指纹图像预处理、指纹特征提取这三个关键步骤的原理进行了介绍,并结合C语言指纹识别算法,详细描述了各个步骤的原理和算法实现过程.针对PC端系统时间、系统空间的一些优化方案的原理和具体实现进行了说明和概述.主要内容包括系统时间优化的方案如Gabor滤波模块优化、算法数据浮点转定点,系统空间优化的方案如选择合适的数据结构和尽量小的数据类型,并概括了一些实习工作中总结的函数代码优化的方法.(2)MFC图形化界面设计:着重介绍用MFC中的C++类库设计一个指纹预处理系统界面,这个系统界面的目的是评估指纹预处理算法,在MFC对话框类的基础上添加不同的控件,通过对C语言的算法调用,在PC端展示从文件中选择指纹图像、指纹预处理图像显示、各模块阈值自定义设定等功能,并对界面进行优化,实现了界面与控件自适应、界面尺寸控制等功能,增强了软件界面的灵活性.最后,本文对研究工作进行总结,并在本论文的工作基础上提出了一些进一步的优化方案,对课题未来进行展望.
  • 所需E币: 5
    时间: 2024-3-1 10:10
    大小: 4.52MB
    上传者: htwdb
    本文中介绍了基于嵌入式的智能协议转换器工作原理、硬件设计及其软件设计。该协议转换器成功了解决了多种不同的控制网络之间的通信问题。
  • 所需E币: 0
    时间: 2024-3-5 11:09
    大小: 557.33KB
    上传者: 随遇而安1992
    这是一个系统测试报告的模板,可以根据个人实际工作内容进行填充,形成自己的系统测试报告