前言   红胖子来也!!!  opencv_contrib是opencv提供额外的工具,提供一些基础算法,之前编译了不带opencv_contrib的版本,不带opencv_contrib的cuda硬加速版本, opencv+opentrib的版本.  OpenCV4是最新的版本,编译一个openCV4的msvc版本.     OpenCV4下载   使用版本4.4.0  官网下载地址:https://opencv.org  CSDN下载地址:https://download.csdn.net/…
前言   红胖子,来也!  做图像处理,经常头痛的是明明分离出来了(非颜色的),分为几块区域,那怎么知道这几块区域到底哪一块是我们需要的,那么这部分就涉及到需要识别了.  识别可以自己写模板匹配.特征点识别.级联分类器训练识别.  本文章就是讲解级联分类器的训练与识别. 明确目标   目标是识别视频中的歌手,我们先手动采集数据集合.  视频为<绿色>,如下图:   训练分类器前的准备工作 采集正样本图片   正样本的尺寸不是必须一致的,但是要和生成的正样本矢量文件中的宽高有相同的比例(因为训练…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106816775各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究红胖子(红模仿)的博文大全:开发技术集合(包含Qt实…
前言   级联分类器的效果并不是很好,准确度相对深度学习较低,本章使用opencv通过tensorflow深度学习,检测已有模型的分类.   Demo       可以猜测,1其实是人,18序号类是狗,因为笔者未找到对应的分类具体信息.   Tensorflow模型下载   https://github.com/opencv/opencv_extra  (注意:未找到对应的分类具体信息.)   OpenCV深度识别基本流程   opencv3.4.x支持了各种模型. 支持的模型   opencv…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106926496各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究红胖子(红模仿)的博文大全:开发技术集合(包含Qt实…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/107837715各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究红胖子(红模仿)的博文大全:开发技术集合(包含Qt实…
  前言   级联分类器的效果并不是很好,准确度相对深度学习较低,上一章节使用了dnn中的tensorflow,本章使用yolov3模型,识别出具体的分类.   Demo   320x320,置信度0.6  608x608,置信度0.6(.cfg里面是608)   yolov3模型下载 coco.names:模型具体的分类信息.https://github.com/pjreddie/darknet/blob/master/data/coco.names yolov3.weights:权重文件ht…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106144767各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究红胖子(红模仿)的博文大全:开发技术集合(包含Qt实…
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106180872各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究红胖子(红模仿)的博文大全:开发技术集合(包含Qt实…
前言   移植opencv到海思平台,opencv支持对视频进行解码,需要对应的ffmpeg支持.   Ffmpeg的移植   Ffmpeg的移植请参考之前的文章:<FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台>  (PS:ffmpeg解码h264是不需要依赖libx264的,但是编码是需要依赖libx264的,在海思上使用了mpp的venc,所以无需libx264)   OpenCV下载   下载地址:https://github.com/op…
今天我们来看一下如何访问图像的像素,以及如何改变图像的亮度与对比度. 在之前我们先来看一下图像矩阵数据的排列方式.我们以一个简单的矩阵来说明: 对单通道图像排列如下: 对于双通道图像排列如下: 那么对于三通道的RGB图像则为: 知道了排列方式之后我们来讨论一下访问图像像素常用的三种方式: 1.使用指针访问: 2.使用迭代器访问: 3.使用动态地址访问: 为了比较一下三种方式的效率,我们介绍两个函数来统计一下每种方式所需的时间. int64 getTickCount()函数:返回CPU自某个时间(…
前言   上一篇已经将himpp套入qt的基础上进行开发.那么qt中拿到frame则是很关键的交互,这是qt与海思可能编解码交叉开发的关键步骤.   受限制   因为直接配置sample的vi比较麻烦,确实是困难的,其实就是配置驱动,所以我们只能从开发板的demo入手,去在相等条件下探测可能的留,从vpss中拿取后,进行软编码.  当然,如果不用qt还有一种方式,也就是大量开发海思人员使用的方式,是基于sample写一个编码程序,然后使用本地socket交互,其实绝大部分海思开发者都是这样开发的…
前言   Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下.   版本编译引导 zlib在windows上的mingw32版本编译:<zlib开发笔记(一):zlib库介绍.编译和工程模板> zlib在ubuntu上的编译:<zlib开发笔记(二):zlib库介绍.ubuntu平台编译和工程模板> zlib在ubuntu上的arm交叉编译:<zlib开发笔记(三):zlib库介绍.在ubuntu上进…
前言   上一篇说明了必须要使用研华自带的8G卡的系统,通过沟通拿到了相关的系统,购买的时候会带8GB的卡,请自行备份一份镜像.本篇对uno-220套件的相关研华配套的额外接口做测试,篇幅较长,重点讲述了测试.发现问题以及解决问题的思路和过程.   特别注意   系统官方是不提供额外下载的,经销售也没有,只有购买UNO-220套件附送的8GB卡才有,其官方其他下载版本全部测试,无法加载研华的驱动,所以实际上他的下载驱动无作用.   刷系统   该系统是8GB卡里面的对应笔者的套件的.  先贴上自…
FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待   前言   将ffmpeg移植到海思HI3559.Hi3516平台上,需要交叉编译.   FFmpeg下载   开发使用当前3.4.8稳定版本:  官方地址:http://ffmpeg.org/download.html#releases  CSDN下载地址:https://download.csdn.net/download/qq2149793…
前言   树莓派也可以做商业应用,工业控制,其稳定性和可靠性已经得到了验证,故而工业控制,一些停车场等场景也有采用树莓派作为主控的,本片介绍了研华ADVANTECH的树莓派套件组UNO-220-P4N1AE.   树莓派介绍   请参照系列博客:<树莓派开发专栏>  有技术方案等外协,可联系博主.   研华树莓派套件 使用手册   使用手册CSDN零积分下载:https://download.csdn.net/download/qq21497936/85179742  QQ群:10471346…
前言   本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇使用源码进行编译,版本就使用3.4.8.   FFmpeg简介   FFmpeg是领先的多媒体框架,能够解码,编码, 转码,mux,demux,流,过滤和播放人类和机器创建的几乎所有内容.它支持最模糊的古代格式,直至最前沿.无论它们是由某些标准委员会,社区还是公司设计的.它还具有高度的可移植性:FFmpeg可以在各种构建环境,机器体系结构和配置下,跨Linux,Mac OS X,Microsoft Win…
阅读本篇博客之前需要了解VS窗体设计器的工作原理,详细可参见本系列博客(十).(十一).(十二).必须需要知道的一条结论就是:处于窗体设计器(Form Designer)中的任何组件(包含控件,下同),都是实际存在的一个实例.也就是说,拖进去的button1,其实就是实例化一个Button控件. 通常编码中,我们在使用一个类型对象时,通过以下方式: Car c = new Car(); //实例化对象 c.Type = “标致308”; //设置属性 c.Color = Color.Black;…
前面以前介绍过空间域滤波,空间域滤波就是用各种模板直接与图像进行卷积运算,实现对图像的处理,这个方案直接对图像空间操作,操作简单.所以也是空间域滤波. 频域滤波说究竟终于可能是和空间域滤波实现相同的功能,比方实现图像的轮廓提取,在空间域滤波中我们使用一个拉普拉斯模板就能够提取,而在频域内,我们使用一个高通滤波模板(由于轮廓在频域内属于高频信号).能够实现轮廓的提取,后面也会把拉普拉斯模板频域化.会发现拉普拉斯事实上在频域来讲就是一个高通滤波器. 既然是频域滤波就涉及到把图像首先变到频域内.那么把…
上一篇博客详细讲到了设计时(DesignTime)和运行时(RunTime)的概念与区别,不过没有给出实际的Demo,今天整理了一下,做了一个例子,贴出来分享一下,巩固前一篇博客讲到的内容. 简单回顾一下: 组件有两种状态,即设计时和运行时,组件存在设计器中时,它就处于“设计时”:组件存在运行过程时,它就处于“运行时”: 无论设计器中组件还是运行过程中的组件,它们都是“组件实例”,所谓“实例”,就是new出来了对象,可想而知,无论在设计器中还是运行过程中,组件都会执行一些代码: 一般情况下,可以…
Android开发中有三种主要的方式用于设置View的点击事件,1.创建内部类:2.主类中实现OnClickListener接口:3.使用匿名内部类.这三种方式都用到了OnClickListener接口,只是不同形式而已.其中OnClickListener是监听View点击事件的接口,接口中定义控件被点击时的回调方法OnClick().View需要在setOnclickListener(OnClickLisener listener)方法的参数中传入OnClickListener接口监听View…
前面介绍while循环时,有个名叫year的整型变量频繁出现,并且它是控制循环进出的关键要素.不管哪一种while写法,都存在三处与year有关的操作,分别是“year = 0”.“year<limit”.“year++”.第一个“year = 0”用来给该变量初始赋值,第二个“year<limit”则为是否退出循环的判断条件,第三个“year++”用于该变量的自增操作.这三处语句结合起来,方能实现循环的有限次数处理,而非无限次的运转.换句话说,要想实现一个标准的循环结构,就必须具备上述的三种…
上一节我们使用协议占开发了一个Modbus TCP Server应用.接下来我们使用协议栈在开发一个基于串行链路的Mosbus RTU Slave应用. 根据前面对协议栈的封装,我们需要引用Modbus TCP Server的相关封装.在接收到命令后调用解析函数进行解析,解析函数的原型: ParsingMasterAccessCommand(uint8_t *receivedMesasage,uint8_t *respondBytes,uint16_t rxLength); RTU Slave使…
本次将NUCLEO-F412ZG应用于我们的多组分气体分析仪的实现试验,从整体上测试实际项目的应用情况. 一.项目概述 多组分气体分析仪是我公司近期研发的三个主要产品之一.采用模块化设计,可增减配置,可分析混合气体中的氧气.氢气.甲烷.丙烷等气体的组分.氧气可以采用顺磁氧传感器.电化学氧传感器两种:氢气传感器可采用热式氢气传感器:炭氢传感器采用远红外气体传感,可探测甲烷和丙烷.气体组分的分析要求能够快速反应,运行稳定,对硬件的要求比较高. 二.硬件设计 在硬件方面充分考虑系统应用的需求,AD采集…
一,简介: OpenCV测试库,用于单元测试.…
直方图计算 直方图可以统计的不仅仅是颜色灰度, 它可以统计任何图像特征 (如 梯度, 方向等等).直方图的一些具体细节: dims: 需要统计的特征的数目, 在上例中, dims = 1 因为我们仅仅统计了灰度值(灰度图像). bins: 每个特征空间 子区段 的数目,在上例中, bins = 16 range: 每个特征空间的取值范围,在上例中, range = [0,255] 怎样去统计两个特征呢? 在这种情况下, 直方图就是3维的了,x轴和y轴分别代表一个特征, z轴是掉入  组合中的样本…
在AVFoundation框架中AVAudioRecorder类专门处理录音操作,支持多种音频格式. 以下是经常使用的属性和方法: 属性 说明 @property(readonly, getter=isPlaying) BOOL playing 是否正在播放,仅仅读 @property(readonly) NSUInteger numberOfChannels 音频声道数,仅仅读 @property(readonly) NSTimeInterval duration 音频时长 @property…
我们最常使用Intent来实现Activity之间的转跳,最近做一个app用到从系统搜索图片的功能,使用到了intent的 setType 方法和 setAction 方法,网上搜索一番,发现实现转跳只是Intent功能的九牛一毛,现在对Intent功能做一个总结,以作备忘. 我们经常使用如下方法实现一个转跳: Intent intent = new Inent(MainActivity.this,SecondActivity.class); startActivity(intent); 其实这…
前言   树莓派使用数据库时,优先选择sqlite数据库,但是sqlite是文件数据库同时仅针对于单用户的情况,考虑到多用户的情况,在树莓派上部署安装mysql服务,通过读写锁事务等使用,可以实现多进程可以操作同一个数据库的同一个表的读写并行操作.   树莓派安装mysql 步骤一:安装mysql服务器   (前面一更新原来有的mariadb现在都没了,–__–!!)  原来(未update前的) sudo apt-get install mysql-server     经查询,mariadb…
上一篇中说到了“泵”在编程中的作用以及一些具体用处,但没有实际demo,可能不好理解,这篇文章我分享一个UDP通信的demo,大概实现了类似“飞鸽传书”在局域网中文本消息和文件传输的功能.功能不全也不是很完善,但足以说明“泵”在代码中的具体应用. 先来回忆一下上篇中“泵”的含义,首先它是可持续运作的,其次它可以将“数据”从一个地方传递到另外一个地方,供其他人使用.搬一张上篇的图: 图1 程序中“泵”结构图 如上图所示,每个泵有一个“待处理”的数据容器(缓冲区),泵循环里面还可以有一个“预处理”的…