Raspberry Pi

Qt音视频开发27-Onvif设备搜索

妖精的绣舞 提交于 2020-10-06 12:07:19
一、前言 最近业余时间主要研究音视频开发这块,前面的文章写了好多种视频监控内核,一旦将这些内核搞定以后,视频监控的相关功能水到渠成。做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大概的标准,能够对各个厂家的监控设备进行常用的一些操作,比如搜索、获取信息、云台控制、事件订阅、抓拍图片等,如果没有这个规范,那么各个厂家都各自为政,需要用私有的sdk去处理,这样就很麻烦很惨了,几十个厂家就需要几十个sdk,对于程序员来说简直是灾难,想想就很恐怖的事情,哪个程序员不想多活几年! onvif设备搜索是最基本的功能,想要对设备进行进一步的处理,必须先搜索到设备,默认onvif搜索只能搜索到同一个网段的设备,要跨网段的话,需要手动指定设备的IP地址或者onvif地址进行搜索,这两者在封装的onvif类中都考虑到了,经历过各种复杂的现场情况的考验,也可以算是本系统的一个小特色吧。 近期又重新把独创的方法实现的onvif工具重新重构了下,各个类之间非常清晰明了,增强了兼容性和完整性,在之前的基础上还增加了很多基础的处理比如视频参数和图片参数的获取,设置时间等,同时还增加了可以指定过滤条件对搜索的设备进行过滤,这个非常有用,很多时候现场各种类型的各个厂家的摄像机非常多,一般来说一个类型的摄像机对应的onvif地址基本一致,端口也是一致,这样可以指定格式进行过滤,只显示过滤后的设备

OpenCV开发笔记(五十九):红胖子8分钟带你深入了解分水岭算法(图文并茂+浅显易懂+程序源码)

落爺英雄遲暮 提交于 2020-10-02 15:40:31
若该文为原创文章,未经允许不得转载 原博主博客地址: https://blog.csdn.net/qq21497936 原博主博客导航: https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址: https://blog.csdn.net/qq21497936/article/details/106258388 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门) OpenCV开发专栏(点击传送门) 上一篇:《 OpenCV开发笔记(五十八):红胖子8分钟带你深入了解图像的矩(图文并茂+浅显易懂+程序源码) 》 下一篇:持续补充中… <br> 前言   红胖子,来也!   做识别,有时候需求要识别物体,物体在背景上比较杂,但是其边缘与背景图相差大,这个时候可以使用分水岭算法突出两边的颜色对比度,从而更好的分割。 <br> Demo                   <br> 分水岭算法 概述   分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌

用Opencv+树莓派+socket 实现远程监控

和自甴很熟 提交于 2020-10-02 10:33:13
用Opencv+树莓派+socket 实现远程监控 网上现在很多基于树莓派的远程监控都是用的ssh来完成的,但是这样不能获取实时图片数据用于后续处理,这里介绍的是一种利用socket编程通过TCP协议实现的网络传输,以实时获取画面。 材料:树莓派(我用的3b+),一个免驱摄像头,一台电脑 准备工作:树莓派安装系统,同时配置opencv,树莓派和电脑在同一局域网。 1实现原理 远程监控自然分为两端,一边是边缘端用于 获取图像 信息并且 发送 图片信息,另一边也就是接收端用于 接受 图像信息并 显示 在屏幕上。 1.1 图像传输方法 这里使用的是socket编程通过TCP协议传输图像信息,具体的socket编程相关原理这里不做详细赘述。但是有人会问,图像信息是怎么通过TCP传输的呢,这里用到了opencv自带的图像解编码函数: cv::imencode Mat数据编码成数据流 cv::imdecode 数据流解码成Mat 通过imencode将图片信息变成数据流,用于传输,PC端接到后再用imdecode函数解码为Mat类型数据。 1.2边缘端 将摄像头插到树莓派上,并用5v,2.5A的电源给树莓派供电,使用前记得给摄像头使能。我用纸盒做了一个简单的定型。 1.3 PC端 PC端这边用的VS2013+opencv2.49,代码如下(代码中的树莓派IP可以在树莓派中输入 sudo

如何用树莓派制作 WiFi 相框

家住魔仙堡 提交于 2020-10-02 10:00:12
DIY 一个数码相框,图片流来自云端。 数码相框真的很好,因为它可以让你查看你自己的相片而不必打印出来。更棒的是,当你想要展示一张新的相片的时候,增加和删除数字图片要比打开传统的相框然后替换里面的相框更简单。不过,这还是需要一点手动的操作,比如从数字相框取出 SD 卡、U 盘或者其他的存储介质,然后把存储介质接入电脑,接着再复制图片进入存储介质。 一个更简单的选项是数字相框通过 WiFi 获得图片,例如从云端服务器获得。下面就是如何制作这样的一个数字相框。 需要使用的材料 老式 TFT 的 LCD 显示屏 HDMI 到 DVI 的转接线(因为 TFT 屏幕支持 DVI) 树莓派 3 Micro SD 卡 树莓派的电源 键盘 鼠标(可选) 使用线缆连接树莓派到显示器,并连接电源。 安装 Raspbian 按照以下 指示 下载并将 Raspbian 烧录到 Micro SD 卡中。将 Micro SD 卡插入树莓派,启动它,并配置你的 WiFi。在安装完 Raspbian 后,我的第一个操作通常是运行 sudo raspi-config 。在那里,我在网络选项中更改主机名(例如,改为 picframe ),并在接口选项中启用 SSH 以远程连接到树莓派。使用(例如) ssh pi@picframe 连接到树莓派。 建立并安装云客户端 我使用 Nextcloud 来同步我的图片

能对话讲故事,他用树莓派把60年代的老式收音机改造成智能音箱

旧城冷巷雨未停 提交于 2020-10-01 09:13:19
  机器之心报道    作者:蛋酱    爷爷留给我的收音机,大概可以焕发新生了。   对于大部分年轻人来说,老式收音机都是不可磨灭的童年回忆。随着科技的发展,我们收听有声内容的方式从收音机变成了手机,后来又变成了智能音箱,而内容本身也从电台节目变成了播客。   近日,YouTube 上的一位博主将一台老式德律风根收音机改造成了能讲故事、能对话的智能音箱。      改造这样一台收音机并不困难。首先,我们准备一下所需要的的材料:   树莓派   Google AIY 语音套件 v1   无线电   Google Cloud Platform   Google Dialogflow   螺丝刀   焊接设备   接线   扬声器   开关    硬件组装   像大多数改造类的手工项目一样,本次也是使用一些旧的电子设备,确切地说是一台德律风根收音机,产于 1960 年代的西德。在完成拆解工作以后,他们保留了扬声器和按钮的部分。然后添加树莓派和其他零件。      如果想要实现可交互功能,意味着必须有一个麦克风和扬声器,并具备处理能力。这里使用的是 Google AIY 语音工具包,按照其操作说明即可。         树莓派安装在右下角。    如何讲故事   作者设计了一个决策树,提供了一个严格的故事框架,因此用户不能随意提问。      当你看到这个框架后

能对话、能讲故事,他用树莓派把1960年代的老式收音机改造成了智能音箱

纵饮孤独 提交于 2020-10-01 07:50:11
  机器之心报道    作者:蛋酱    爷爷留给我的收音机,大概可以焕发新生了。   对于大部分年轻人来说,老式收音机都是不可磨灭的童年回忆。 随着科技的发展,我们收听有声内容的方式从收音机变成了手机,后来又变成了智能音箱,而内容本身也从电台节目变成了播客。   近日,YouTube 上的一位博主将一台老式德律风根收音机改造成了能讲故事、能对话的智能音箱。      改造这样一台收音机并不困难。首先,我们准备一下所需要的的材料:   树莓派   Google AIY 语音套件 v1   无线电   Google Cloud Platform   Google Dialogflow   螺丝刀   焊接设备   接线   扬声器   开关    硬件组装   像大多数改造类的手工项目一样,本次也是使用一些旧的电子设备,确切地说是一台德律风根收音机,产于 1960 年代的西德。在完成拆解工作以后,他们保留了扬声器和按钮的部分。然后添加树莓派和其他零件。      如果想要实现可交互功能,意味着必须有一个麦克风和扬声器,并具备处理能力。这里使用的是 Google AIY 语音工具包,按照其操作说明即可。         树莓派安装在右下角。    如何讲故事   作者设计了一个决策树,提供了一个严格的故事框架,因此用户不能随意提问。      当你看到这个框架后

OS开发爱好者福利来了:树莓派上编译C语言,顺便掌握一波硬件知识

僤鯓⒐⒋嵵緔 提交于 2020-09-30 15:14:39
  选自github    作者:Zoltan Baldaszti    机器之心编译    编辑:陈萍    树莓派虽小,小到仅有信用卡大小,但功能却和普通电脑无异,可以将其连接电视、显示器、键盘鼠标等设备使用。也可以处理文字、电子表格、媒体甚至是游戏。那么这个神奇的小电脑,怎样用它来进行编程呢?下面介绍一篇利用树莓派进行裸机编程的教程,顺便学习一下接口、硬件等知识。      近日,有人在 GitHub 上开源了一个关于树莓派的教程。不同于以往的树莓派开发,这篇教程的核心内容是讨论如何在树莓派上进行裸机编程。      教程地址:https://github.com/bztsrc/raspi3-tutorial    在树莓派 3 上进行裸机编程   该系列教程面向 那些想要编译自己的树莓派裸机应用程序的人 ,具体目标受众是那些对树莓派硬件不熟悉,但在业余时间又爱好 OS 的开发人员。在这篇教程里,作者给出了一些示例来完成基本的操作,比如:将代码写入串行控制台、从串行控制台中读取按键、设置屏幕分辨率并绘制到线性帧缓冲区。此外,作者还展示了如何获取硬件的序列号、硬件支持的随机数,以及如何从启动分区读取文件。    需要注意的是:这篇教程没有涉及编写 OS 。诸如内存管理、虚拟文件系统、实现多任务处理之类的主题也不会介绍。该教程将重点介绍与硬件的接口,而不是关于 OS 的理论。此外

树莓派学习(一)——树莓派安装系统的过程、问题及解决办法

不羁岁月 提交于 2020-09-29 12:56:19
树莓派学习(一)——树莓派安装系统的过程、问题及解决办法 参考文章: (1)树莓派学习(一)——树莓派安装系统的过程、问题及解决办法 (2)https://www.cnblogs.com/FHC1994/p/9142569.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4438370/blog/4653893

工业级树莓派应用案例7:机器数据记录

≯℡__Kan透↙ 提交于 2020-09-28 11:26:08
技术背景 丹麦公司Trendlog.io提供的解决方案可轻松访问机器数据,从而使公司可以使用现有机器来提高生产效率,实施数据收集等技术后,数字化公司的生产效率平均提高15%。 此外,他们基于云的解决方案使公司可以收集和可视化重要数据,例如来自生产线,码垛机,存储设施等的重要数据,从而可以快速概览其运营和效率。 解决方案 就硬件技术而言,trendlog.io使用RevPi Core将其作为中央处理单元并安装在其所谓的“Plug&Log Box”中。Trendlog.io为RevPi Core提供了自己的软件映像,因此,客户可以在很短的时间内直接进行设备的设置和与云的连接,而无需提前学习任何特定的知识。 Trendlog.io并未通过RevPi扩展模块连接传感器,而是采取了一个特殊的方法,使用Moxa的远程I/O扩展模块,这些模块以菊花链拓扑结构分散连接,使用Modbus TCP协议通过以太网接口与RevPi通信。 收集的机器数据由RevPi Core进行预处理并发送到云中,然后就可以显示在根据客户需求配置的基于浏览器的仪表盘上。 但是,实时数据可视化只是优化生产力的第一步。通过数据监视组件和单元的使用情况,trendlog.io的解决方案有助于预测,计划和执行机器上的维护需求。 此外,通过记录和分类生产中的错误,它有助于防止将来的停机时间,从而提高机器的生产能力。 应用模块

工业级树莓派应用案例4:CloudRail.Box助力快速实现IIOT

可紊 提交于 2020-09-28 03:52:46
应用背景 Revolution Pi的目标始终不只是一个小型控制单元。在开发第一个Revolution Pi的过程中,Revolution Pi一直以提供一种使公司能够得到新的销售机会工具为目标,例如云服务。在本案例中,我们将带您看看如何通过CloudRail.Box极快地实现IIOT。 解决方案 在2018年,CloudRail公司决定将Revolution Pi用于其新的IIoT服务。借助其同名的解决方案,该公司提供了一种简单的方法,可在很短的时间内且无需编程知识即可将数据从所有标准IO-Link传感器发送到最常见的云,包括Microsoft Azure,AWS,SAP和IBM Watson。 CloudRail公司的口号是“在不到一分钟内从传感器到任何云”。凭借其强大的4核处理器,CloudRail.Box可以在将数据发送到云之前对其进行预处理或过滤。此外,数据可以在本地缓存,以防与云的临时连接出现问题。 根据客户的需求,很快就知道只有具有两个独立网络接口的RevPi Connect适合作为客户特定解决方案的基础。两个独立网络接口使得CloudRail.Box一方面可以将IO-Link主站连接到OT网络中,另一方面可以将其连接到Internet /云。 借助Revolution Pi的开源方法,CloudRail能够无障碍地创建适合其需求的软件映像。除了设备自身的映像外