上位机图像处理和嵌入式模块部署(视频处理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.rhkb.cn/news/248406.html

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

相关文章

【环境配置】安装了pytorch但是报错torch.cuda.is_availabel()=Flase

解决思路:import torch正常,说明torch包安装正常,但是不能和gpu正常互动,猜测还是pytroch和cuda的配合问题 1.查看torch包所需的cuda版本 我的torch是2.0.1,在现在是比较新的包,需要12以上的cuda支持&…

鸿蒙首批原生应用!无感验证已完美适配鸿蒙系统

顶象无感验证已成功适配鸿蒙系统,成为首批鸿蒙原生应用,助力鸿蒙生态的快速发展。 作为全场景分布式操作系统,鸿蒙系统旨在打破不同设备之间的界限,实现极速发现、极速连接、硬件互助、资源共享。迄今生态设备数已突破8亿台&…

.net core 6 集成 elasticsearch 并 使用分词器

1、nuget包安装NEST、安装elasticsearch、kibana、ik分词器、拼音分词器 2、创建操作对象 //索引库 static string indexName "testparticper"; //es 操作对象 ElasticClient elasticClient new ElasticClient(new ConnectionSettings(new Uri("http://192.…

redis面试

0.思维导图 1. redis的数据类型♥♥♥ redis有五种数据类型,包括string,list,set,hash,zset;string就类似于java中的字符串,list就类似于Java中的列表,可以存放重复的元素,set就类似于java中的hashset,不能存放重复的…

索引文件的建立与查询示例(五)

隔了好几天没顾上更新内容,在此继续吧。还是得多动头脑,否则忙于日常事务,脑子不够灵活。在代码的世界里还是能有一些灵感。上次说到在内存中实现链表建立以及打印出链表的操作。这节我们试着将链表存入文件,并从文件中进行读取。…

关于maven项目构建的解释

在Idea中使用模块化构建项目 项目介绍: sky-server依赖sky-pojo和sky-common,继承sky-take-outsky-pojo继承sky-take-outsky-common继承sky-take-out 由于Idea编译器自动识别引入的模块,所以在Idea中可以运行项目。 在Idea中使用maven打包…

Java多线程--同步机制解决线程安全问题方式二:同步方法

文章目录 一、同步方法(1)同步方法--案例11、案例12、案例1之同步监视器 (2)同步方法--案例21、案例2之同步监视器的问题2、案例2的补充说明 二、代码及重要说明(1)代码(2)重要说明 …

用GPT写PHP框架

参考https://www.askchat.ai?r237422 写一个mvc框架 上面是简单的案例,完整的PHP框架,其核心通常包含以下几个关键组件: 1. 路由(Routing):路由组件负责解析请求的URL,并将其映射到相应的控制…

Springboot项目启动后浏览器不能直接访问接口,而postman可以访问?

在云服务器上部署springboot后端时,项目启动后浏览器不能直接访问接口,而postman可以访问。这是当时困扰了我大半天的小问题,在我打开防火墙和阿里云安全组之后还是没解决。然后在网上搜了很多很多资料,以为是浏览器访问权限或者是https什么证…

【乳腺肿瘤诊断分类及预测】基于LVQNN学习向量量化神经网络

课题名称:基于LVQ神经网络的乳腺肿瘤诊断(类型分类) 版本日期:2023-03-10 运行方式: 直接运行0501_LVQ0501.m 文件即可 代码获取方式:私信博主或QQ:491052175 模型描述: 威斯康辛大学医学院…

H.264与H.265的主要差异

H.265仍然采用混合编解码,编解码结构域H.264基本一致, H.265与H.264的主要不同 编码块划分结构:采用CU (CodingUnit)、PU(PredictionUnit)和TU(TransformUnit)的递归结构。 并行工具:增加了Tile以及WPP等并行工具集以提高编码速…

优化器刺客之limit 1--Order by col limit n 代价预估优化探索

一、现象 order by 排序加了limit后更慢了? test# explain analyze select userid from dba_users where username like %aaaaaaaaaaaaaaaaaa% order by userid ;QUERY PLAN --------------…

第4章 python深度学习——(波斯美女)

第4章 机器学习基础 本章包括以下内容: 除分类和回归之外的机器学习形式 评估机器学习模型的规范流程 为深度学习准备数据 特征工程 解决过拟合 处理机器学习问题的通用工作流程 学完第 3 章的三个实例,你应该已经知道如何用神经网络解决分类问题和回归…

调试小结:PHY初始化前后Link Status是否能正确反应网线插上、拔下状态

1 说明 为了验证是否需要初始化PHY才能检测到网线插上、拔下,这里我们对比初始化PHY(LAN8720)前后,插拔网线PHY寄存器1的bit2的是否按照预期变化来进行测试。 我们查看的PHY寄存器是1的bit2,定义如下: 2…

anaconda离线安装包的方法

当设备没有网络时,可以使用有网络的设备先下载所需安装包,然后离线拷贝到需要安装的设备,最后安装。 一. 下载所需安装包 下载命令:使用pip download。详细描述参见pip download -h 以"blind-watermark"为例。 pip …

asp.net core监听本地ip地址

开发asp.net core的时候遇到一个问题我想提供访问供其他同事测试,但是默认都是localhost或者127.0.0.1。我想换成我的Ip地址访问但是不行,百度搜索需要更换监听的地址即修改launchSettings.json,修改为0.0.0.0:5248,这样不管local…

回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测

回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测 目录 回归预测 | Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入单输出回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现CPO-SVR冠豪猪优化支持向量机的数据多输入…

visual studio2022专业版安装步骤

目录 一、Visual studio下载二、创建C#项目——Hello World三、专业版秘钥激活 一、Visual studio下载 首先进入下载官网 先下载2022专业版,等等后面还需要选环境 我勾选了以下几个和c#开发有关的,后面缺什么还可以再安装所有以少勾了问题也不大 然后…

故障脚本的重要作用:预防、诊断与恢复

故障脚本是在信息技术和计算机领域中广泛使用的一种自动化工具,它们的主要目的是预测、诊断和修复系统或软件中的故障。这些脚本在现代技术环境中扮演着至关重要的角色,本文将介绍故障脚本的主要作用。 一、预防性作用 监控和预警 故障脚本可以用于监控系…

C# 一个快速读取写入操作execl的方法封装

这里封装了3个实用类ExcelDataReaderExtensions,ExcelDataSetConfiguration,ExcelDataTableConfiguration和一个实用代码参考: using ExcelDataReader; using System; using System.Collections.Generic; using System.Linq; using System.T…