• 等级
  • 65812 访问
  • 33 原创
  • 0 转发
  • 77043 排名
  • 8 评论
  • 24 获赞

记一种彩色图像分割方法

由于运动物体的颜色不同(有些运动物体可能跟背景颜色比较接近),之前基于颜色的分割方法总是不尽如人意,虽然大部分情况下能够分割出运动物体,但有时存在分割不完整导致后续判断失误的情况。今天尝试了一种方法,目前来看仿真效果还不错,除非出现一种极端情况,就是运动物体颜色(H、S、V三个分量跟背景完全相同),但这种情况出现的几率相对来说比较小,因此可以暂时忽略不计。因为安全考虑,此处不贴原图,也不过...

2019-02-19 17:54:52

关于做技术的一点思考

我并不认为这世界上有全能的人,所以也不要指望谁能够全能。每个人的精力和时间都是有限的,能集中精力把技术做好,为客户提供一个靠谱的产品,把团队锻炼成一个靠谱的团队,为团队的长期发展铺好路,让客户为我们的长远利益埋单,能做好这些,已经不容易。我们都需要明确自己的能力边界,边界之外的事情,还是留给擅长的人去做吧,毕竟,每个岗位都需要各司其职,对于自己不懂的领域,最好不要越俎代庖,一是你不擅长,二...

2018-10-22 17:34:09

记一次编码工程移植到新机器上出现的Core Dump问题

记录一个开发某个机器视觉工程中出现的问题,工程略微复杂,依赖项很多,主要有:相机库、Caffe、TensorRT、OpenCV、FFMPEG等。其中需要用到视频编码功能,因此,自己基于FFMPEG和X264写了一个编码接口,生成动态库文件libvideoenc.so并在工程中调用。出现的问题是,工程在A服务器上跑得好好的,移植到B服务器上却怎么都Run不起来,一跑录制功能就崩溃,类似这样的:...

2018-10-11 11:38:28

spdlog在多线程中的使用

开发需要,最近调研了几个C++下的log库,包括log4CPP、Googleglog、z-log、EasyLogger、spdlog等,鉴于spdlog的高性能且只包含头文件,且线程安全,需要的特性基本都有了,最后决定,就它了!spdlog是开源的,源码可访问https://github.com/gabime/spdlog。spdlog可选择向控制台、文件、系统日志以及控制器等目标输出日...

2018-08-12 16:27:07

Linux下用C++实现通过进程名称获取进程ID

近期开发的系统功能涉及到进程之间的查询、进程对进程的启停操作。在shell环境下,使用进程名称查询进程ID非常简单,例如通过ps-ef|grep"proc_name"来查看名为“proc_name”进程,也可以通过pidof"proc_name"来获取进程ID。例如:mvg@ubuntu-MS-7A54:~/test$ps-ef|grepchip_det_m...

2018-08-01 18:03:38

FFMPEG如何设置编码器私有参数

FFMPEG最常调用的外部编码库就是libx264和libx265了。我们知道在FFMPEG内部,可以通过结构体AVCodecContext设置一些通用的编码参数,结构体定义见下方代码段。typedefstructAVCodecContext{/***informationonstructforav_log*-setbyavcodec...

2018-07-26 14:17:57

编译带x264的FFMPEG

业务需要,需要在Linux系统下编译带x264编码的ffmpeg工程,略踩小坑,过程记录如下。首先下载源码,ffmpeg: http://www.ffmpeg.org/download.htmlx264:http://download.videolan.org/x264/snapshots/yasm:http://yasm.tortall.net/Download.html1.编译yasmyas...

2018-05-26 17:52:14

FFMPEG文件转封装

前段时间开发了一个基于FFMPEG的文件录制功能,具体来讲,就是把在线码流转封装成本地文件。当然,实际应用过程中,需要考虑指定的封装格式与输入文件或码流的编码格式是否兼容,录制固定大小或时长的文件时对于文件size或时间戳的处理,等等。这里先将这些细节省略,只讲一下大体流程。媒体转封装的过程可参考如下框图:左侧为输入文件(或码流),右侧为输出文件。推流的流程大抵也是如此,但要加上网络初始化函数,并...

2018-05-07 11:21:29

浅谈数字摘要

最近在开发GB/T-28181视频监控联网系统,其中要求对信令、数据做数据完整性保护,以保证信令安全,防止系统数据被恶意篡改。数字摘要信令认证的交互流程如下:业务需求加好奇心,让我们一起来揭开数字摘要的面纱,探一探究竟。数字摘要其实就是一种单向加密算法,是一种用来保证信息完整性的技术。具体就是通过Hash函数,将任意长度的消息(明文),“摘要”成固定长度(如128bits)的短消息(即密文)。对...

2018-04-10 17:26:10

记一次Windows向Linux的代码移植

前几天完成了一次Windows向Linux的代码移植,由于在Windows上开发时没有考虑到兼容性,所以移植的时候还是碰到了不少的问题,今天专门抽时间把问题和解决方法整理出来,作为经验,以备将来查阅。1.包含的头文件名称大小写问题例如decode_test_utils.cpp:1:20:fatalerror:StdAfx.h:Nosuchfileordirectory#inc...

2018-03-24 16:49:18

文件传输协议——FTP概述

本篇主要参考FTP协议的维基百科: FileTransferProtocolFTP(FileTransferProtocol)是在客户端和服务器之间传输文件的标准网络协议。FTP协议建立在C-S模型之上,在客户端和服务器之间使用单独的控制和数据连接。FTP用户可通过明文登陆协议来认证,通常是以用户名和密码形式,不过在服务器配置允许的情况下,也可以实现匿名连接。为了保护用户名和密码,以及对内容...

2018-03-09 17:53:48

在Linux系统中安装nginx

最近要在Linux系统中实现推流和解码,需要安装nginx,研究了一天,终于安装成功了,记录一下。因为不通外网,所以我是直接下载源码,然后上传到服务器上,再配置并安装的。步骤如下:1.安装OpenSSLOpenSSL是什么东东?下面是来自百度百科的一个定义:OpenSSL是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的...

2018-03-01 15:08:39

网络流媒体协议之——HTTP初探

终于写到HTTP协议了,内容实在太多,摘了写最最基础的内容来写一下,后面工作还会用到,用到的部分再深入写吧。HTTP(HyperTextTransferProtocol),即超文本传输协议,于1990年问世,最早的版本是HTTP/0.9。最早作为标准正式公布的HTTP版本是HTTP/1.0,公布于1996年5月,相应的协议为RFC1945。1997年公布的HTTP/1.1是目前主流的HTTP...

2018-02-24 17:27:16

网络流媒体协议之——RTMP协议(Part II)

在上一篇网络流媒体协议之——RTMP协议(PartI)中,介绍了RMP协议的基本message结构与chunk格式,本篇我们来更深入地来了解一下RTMP中的消息交互。分成三个部分来介绍,分别是Handshake、控制消息与交互、命令消息与交互。1.HandshakeRTMP连接的建立首先通过握手(handshake)开始。Handshake消息不同于协议的其他消息,并非由可变大小

2018-02-06 20:41:03

网络流媒体协议之——RTMP协议(Part I)

今天来整理一下直播中经常用到的RTMP协议,由于内容较多,分两部分来写。本篇写第一部分,主要内容是RTMPMessage的格式;第二部分主要是RTMP的一些重要信令交互等。主要参考英文协议文档http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/en/devnet/rtmp/pdf/rtmp_specification_1.0.pdf

2018-02-01 18:55:10

网络流媒体协议之——RTSP协议

RTSP(Real-TimeStreamProtocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而

2018-01-29 19:40:55

网络流媒体协议之——RTP协议概述

网络流媒体协议系列:网络流媒体协议之——MPEG-DASH协议简述网络流媒体协议之——HLS概述网络流媒体协议之——UDP协议概述今天来整理一下RTP。RTP(Real-timeTransportProtocol,实时传输协议)是用于Internet上针对多媒体数据流的一种传输协议,由IETF提出,对应的标准文档是RFC3550。RTP协议和RTCP(Real-

2018-01-19 22:41:32

网络流媒体协议之——UDP协议概述

以往系列文章请参考:网络流媒体协议之——MPEG-DASH协议简述网络流媒体协议之——HLS概述本篇是关于最简单的UDP协议的概述。网络上的媒体传输一般可认为有两种方式,基于TCP的传输和基于UDP的传输,根据应用场景的不同,所选择的传输方式也不同。常用的应用层流媒体协议有RTP/RTCP/RTSP(可基于TCP或UDP)、RTMP和HTTP(一般基于TCP方式)。

2018-01-16 18:35:05

网络流媒体协议之——HLS概述

最近有空,准备将常用流媒体协议整理成一系列博客文章。前面已经完成了一篇MPEG-DASH概述。本篇来整理一下HTTPLiveStreaming,也就是我们常说的HLS。HLS是苹果公司提出的基于HTTP的流媒体网络传输协议。类似于MPEG-DASH,但是HLS更加简洁,它的基本原理也是服务端把文件或媒体流按照不同的码率切分成一个个小片段进行传输,客户端在播放码流时,可以根据自身的带宽及

2018-01-15 16:10:38

Windows下使用FFMPEG的一个BUG

今天用Windows下的FFMPEG解码一个视频并保存成一系列图片,使用过程中遇到了问题,目前无解,请看到的高手给些指点,不胜感谢!先来描述一下操作步骤:从https://ffmpeg.zeranoe.com/builds/下载相应的FFMPEG版本至本地,我的是几个月前下载的,因此版本略老了些。进入ffmpeg-3.3.4-win64-shared\bin为了方便写命令行,把输入

2018-01-12 15:03:55

牧羊女说

有马甲线的女程序猿、攻城狮、加班狗~
关注
  • 计算机软件/视频开发工程师
  • 中国 安徽省 合肥市
奖章
  • 持之以恒