上位机图像处理和嵌入式模块部署(视频处理vs图像处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        从目前发展的情况来看,视频处理会慢慢变成一种主流趋势。这里面的原因很多,比如说现在嵌入式soc的算力越来越强、获取图像的手段越来越方便、视频相比较图像信息更丰富等等的。不管怎么说,视频相比较图像而言,除了对soc的算力有一定要求之外,几乎没有什么缺点。就算是处理单张图片的信息,我们也可以从视频当中挑选质量最好的那一张来处理,这样对采集设备本身的要求也会降低很多。

1、视频图像信息更多

        视频,简单一点说,就可以看成是流动的图像。如果视频没有明显的卡顿,那么只需要1秒钟的帧率超过24即可。所以对于采集设备来说,完全可以从24帧的数据当中挑选质量最好的那一张来处理。因为光源、光源控制、镜头、曝光时间,这些因素都聚集到一起,有的时候需要连续拍摄才能获取到质量最好的那一张图片,某种意义上说和摄影是一样的。

2、更多的采集设备

        和之前相比较,现在的图像采集设备更多,比如说手机、pad、电脑、随身记录仪、工业摄像头设备、安防设备等等。这些设备都有一个共同的特点,那就是既支持图像的拍摄,也支持网络传输。所以,对于上层处理软件来说,基本上只要一根网线,或者有一个WiFi设备,就可以很顺利地把这些设备上的图像拿到,后续的处理基本上就和这些设备没啥关系了。

3、更强的芯片性能

        这里说的处理设备有两种,一种是pc,一种是soc本身。pc越来越强,core越来越多,频率也越来越高,这些都毋庸置疑的。而嵌入式soc越来越强,cpu的频率普遍达到了2G Hz,而且很多高端的soc都集成了isp、gpu、npu这些复杂的ip core,处理图像更加地得心应手。这使得之前只能在pc端实现的功能,现在同样可以放到嵌入式终端实现,一下子增加了很多的应用场景,扩展了原先产品的种类和类型。

4、更安全的处理算法

        之前图像处理的时候,由于只有一张图像,整个安全措施还是不太高的。比如大家取款的时候,需要进行人脸识别认证,如果仅仅是一张图片,那么作假的成本其实比较低,比如说拿出一张素描来代替人脸。但是如果是视频认证,就需要进行摇头、眨眼、前进、后退等动作,这样安全性会一下子高很多,这是之前单纯图像处理没有办法比拟的。所以,从安全性的角度来说,视频比图像处理也更加地合适。

5、视频在opencv上的处理

        对于opencv来说,不管是图像处理,还是视频处理,这方面的差距并不会很大。因为,对于它来说,图像的采集也是通过一个frame、一个frame去处理的,所以这里提供了一个最简单的opencv视频采集脚本,大家可以回头自己动手测试下,

# -*- coding: utf-8 -*-
import cv2cap = cv2.VideoCapture(0)while True:ret, frame = cap.read()if not ret:print("Unable to read frame.")breakcv2.imshow('Camera', frame)if cv2.waitKey(1) & 0xFF == ord('q'):breakcap.release()
cv2.destroyAllWindows()

6、视频处理的挑战

        对于算法来说,视频处理和图像处理其实差别不大。不过视频中的信息,前后frame一般有一定的关联性,所以算法上还是存在优化空间的。但是对于单张图片而言,这里面就会存在一个问题,那就是单张图片处理的时间必须要尽可能地少,通常来说,必须要少于40ms,即保持画面连续播放的最低要求。或者换一种说法,单张图片的时间可以是40ms以上,但是pipeline结果输出的时间必须要小于40ms。因为一旦大于这个时间,很容易发生卡顿的现象,客户使用体验极差。记得之前在做车载设备时、也就是adas的dms系统的时候,如果单张图像处理时间过长,卡顿非常明显,一般来说,客户都是很难认可和接受的。

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

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

相关文章

如何从视频中提取高清图片?可以这样截取

如何从视频中提取高清图片?从视频中提取高清图片可以方便我们制作各种用途所需的素材,如海报、社交媒体配图等。此外,高清图片的细节和色彩也更丰富,可以更好地满足我们的视觉需求。从视频中提取高清图片是一项需要技巧的任务&…

Gateway API 实践之(六)FSM Gateway 的健康检查功能

FSM Gateway 流量管理策略系列: 故障注入黑白名单访问控制限速重试会话保持健康检查负载均衡算法TLS 上游双向 TLS 网关的健康检查功能是一种自动化监控机制,用于定期检查和验证后端服务的健康状况,确保流量只被转发到那些健康且能正常处理请…

Java流程控制for 标签的使用

目录 for语法结构举例breakcontinuereturn 标签 for for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果…

学习鸿蒙基础(2)

arkts是声名式UI DevEcoStudio的右侧预览器可以预览。有个TT的图标可以看布局的大小。和html的布局浏览很像。 上图布局对应的代码: Entry //入口 Component struct Index {State message: string Hello Harmonyos //State 数据改变了也刷新的标签build() {Row()…

C++ 数论相关题目,博弈论,SG函数,集合-Nim游戏

给定 n 堆石子以及一个由 k 个不同正整数构成的数字集合 S 。 现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 S ,最后无法进行操作的人视为失败。 问如果两人都采用最优策略,…

PEI是聚醚酰亚胺(Polyetherimide)主要应用于哪些行业领域?

聚醚酰亚胺(Polyetherimide,PEI)由于其优异的性能,被广泛应用于多个工业领域。以下是PEI主要应用的一些行业领域: 1.航空航天工业: PEI的高温稳定性和机械性能使其在航空航天领域中成为一种理想的材料。它用…

系统架构设计师-21年-下午题目

系统架构设计师-21年-下午题目 更多软考知识请访问 https://ruankao.blog.csdn.net/ 试题一必答,二、三、四、五题中任选两题作答 试题一 (25分) 说明 某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发…

抵御.360勒索病毒威胁:解密文件的有效方法与预防措施

导言: 近来,网络犯罪的一种新型形式——.360勒索病毒,备受关注。这种病毒通过加密用户文件,要求支付赎金以获取解密密钥。本文91数据恢复将深入介绍.360勒索病毒的特点,同时提供一些有效的恢复方法,并分享…

【2024年5月备考新增】《软考高项论文专题 (4)资源管理(合集)》

1 写作要点 过程定义、作用写作要点、思路规划资源管理是定义如何估算、获取、管理和利用团队以及实物资源的过程。作用:根据项目类型和复杂程度确定适用于项目资源的管理方法和管理程度。资源管理计划的内容、编写的原则(考虑资源竞争、稀缺资源、争取资源等)。注意是全员参…

pandas使用read_csv时报错解决

问题描述: 在使用read_csv时报错: UnicodeDecodeError: utf-8 codec cant decode byte 0xc9 in position 9451: invalid continuation byte 或者: UnicodeDecodeError: gb2312 codec cant decode byte 0x88 in position 68296: illegal m…

【Spark系列5】Dataframe下常用算子API

Apache Spark DataFrame API 提供了丰富的方法来处理分布式数据集。以下是一些常见的 DataFrame API 类别和方法,但这不是一个完整的列表,因为 API 非常广泛。这些方法可以分为几个主要类别: 转换操作(Transformations&#xff0…

OpenAI最近推出了ChatGPT的一个新功能,@GPT

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

人工视觉仍然需要图像采集卡

最初,图像采集卡被用作模拟视频数字转换器和图像缓冲器,但如今它们能够执行复杂的任务,例如图像处理。图像采集卡的设计不断发展,旨在提高系统性能并减少计算机处理需求。 除了图像采集之外,图像采集卡还执行机器视觉…

SSRF笔记整理

服务器请求伪造 原理简述 A通过指使B对C进行攻击 A无法直接访问C;B可以直接访问C;B又很听A的话 漏洞成因 服务器可以获取另一台服务器应用的数据;并且对访问的地址没有过滤和限制 简单来说就是一台服务器拥有访问其他任意IP资源的权利 判断点…

Python学习笔记--面向对象编程基础知识

本文摘自朱雷老师所著《Python工匠》一书第9章内容,因为很多内容,阅读后依然一知半解,特做笔记予以记录而进一步加强认知。 Python是一门面向对象的编程语言,它为面向对象编程提供了非常全面的支持。但和其他编程语言相比&#x…

酒店|酒店管理小程序|基于微信小程序的酒店管理系统设计与实现(源码+数据库+文档)

酒店管理小程序目录 目录 基于微信小程序的酒店管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员模块的实现 (1) 用户信息管理 (2) 酒店管理员管理 (3) 房间信息管理 2、小程序序会员模块的实现 (1)系统首页 &#xff0…

kettle通过severice_name连接oracle数据源踩坑

最近在研究kettle做数据抽取核对,按照官网安装kettle后无法连接oracle 坑1:kettle 连接oracle的数据库名指的是sidname 而非severicename,前期一直使用severicename 如下始终报错 注意区分下: SID:一个数据库可以有多个实例&…

力扣hot100 组合总和 回溯 剪枝 组合

Problem: 39. 组合总和 文章目录 思路复杂度&#x1f496; Code 思路 复杂度 时间复杂度: O ( n ) O(n) O(n) 空间复杂度: O ( n ) O(n) O(n) &#x1f496; Code class Solution{List<List<Integer>> res new ArrayList<>();int x;// 全局targetin…

[GN] DP学习笔记板子

文章目录 Bitset滚动数组多重背包区间DP树形dp状压dp模拟退火 Bitset 使用bitset需要引用<bitset>头文件。 其声明方法为: std::bitset<N>s; (N为s长度)常用函数&#xff1a; b.any() 判断b中是否存在值为1的二进制位 b.none() 判断b中是否不存在值为1的二…

webassembly003 TTS BARK.CPP-02-bark_tokenize_input(ctx, text);

bark_tokenize_input函数 bark是没有语言控制选项的&#xff0c;但是官方的版本无法运行中文bark_tokenize_input会调用bert_tokenize函数&#xff0c;bark_tokenize_input函数对中文分词失效&#xff0c;也就是导致不支持中文的原因。 void bark_tokenize_input(struct bark_…