- 博客(27)
- 资源 (9)
- 收藏
- 关注
原创 归并排序
归并排序算法在遇到大量的数据进行排序时,如读取磁盘里的大量文件数据进行排序,而一次排序又无法开辟那么大的内存空间给排序的数据时,那么归并排序就是一个很好的选择。而在嵌入式程序设计中尽量不要使用递归,因为递归是多重的函数嵌套调用,需要很大的栈资源。因此,收集了一下非递归的归并排序算法,并通过输入一个二维数组案例(行数为测试的数组例子个数,列数为排序的数组的元素个数)去验证是可行,从而又引出关于二重指...
2019-07-29 22:07:19
152
原创 C++中的几种字符输入方式
参考:https://blog.csdn.net/u011486738/article/details/82082405/*1. cin>> 用法1: 最基本,也是最常用的用法,输入一个数字用法2: 结束一个字符串,遇“空格”、TAB/回车结束2. cin.get()用法1. cin.get(字符变量名)可以用来接收字符char ch;ch=cin.get();//...
2019-07-17 18:47:16
3121
原创 循环顺序队列与链式队列实现
队列是一种先进先出的数据结构,分顺序存储结构和链式存储结构两种。顺序存储结构中广泛使用的是循环队列,也是队列使用中最多的一种。下面将分别实现这两种队列的基本操作。#include<iostream>using namespace std;const int MaxSize = 100;class queue{public: queue() { front = 0...
2019-07-10 15:57:42
893
原创 C++知识总结
一:类的public、protected、private修饰的成员访问权限无继承情况下类对其成员访问形式主要有一下两种:内部访问:由类中成员函数对类的成员的访问 对象访问:在类外部,通过类的对象对类的成员的访问。类的成员有public、protected、private三种访问属性,类的成员函数(内部访问)以及友元函数可以访问类中的所有成员(不考虑派生类继承的父类私有成员),但是在...
2019-07-06 21:50:27
235
原创 STM32之ADC转换
ADC转换Stm32上有12位的逐次逼近模型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各个通道的ad转换方式可有:单次、连续、扫描或者间断模型。Adc得到的结果可以左对齐和右对齐方式存储在16位数据寄存器中。通常使用的是右对齐方式,而如果使用左对齐的话,其值相当于(左移6位)扩大了64倍,再其处理的时候精度提高了。(例如,接5v的电压,通常算到mv的时候都整体乘
2017-11-01 22:50:26
4553
1
翻译 stm8的bootloader
Stm8的bootloader介绍本次应用笔记是专门为STM8的固件和系统设计者提供,他们需要实现一个内应用编程(In-application programming, IPA)特征的产品,以stm8微处理器作为研发的。Stm8是一个8位微控制器家族,并以一个flash memory 去存储用户的程序代码或者固件。(for storing the user program codeor fir
2017-11-01 10:10:58
1737
1
原创 虚函数与虚基类
1.虚函数是用于多态中virtual修饰父类函数,确保父类指针调用子类对象时,运行子类函数的。2.纯虚函数是用来定义接口的,也就是基类中定义一个纯虚函数,基类不用实现,让子类来实现。3.虚基类是用来在多继承中,如果父类继承自同一个父类,就只实例化一个父类(说的有点绕,就是只实例化一个爷爷的意思=。=)。为了记住以上区别,首先,需要明白为什么要引入虚函数,虚函数的作用是什么,有什
2017-10-30 10:00:36
2314
原创 static的作用
static是静态的意思,可以用于修饰变量和函数。在c语言中,其有三个作用,(1)存储区域属于静态存储区 ,改变变量的生存周期,如局部变量变成静态局部变量。(2)初始化默认为0,例如给一个数组或者字符数组初始化0时,省去工作,这功能得益于其存储变变量的静态存储区,默认初始化为0。(3)作用范围,只在本地的源文件中起作用,相对于全局变量(如果在另一个源文件中使用,需要在另一个源文件中用extern
2017-10-29 22:30:08
471
转载 堆排序
堆排序是一种选择排序,其算法时间复杂度为O(n*lgn),空间复杂度O(1)。对于堆排序的理解,首先要了解堆,二叉堆,二叉树的数组实现性质,最大堆等,看了很多资料发现自己都不是很理解。而这次通过查看到以下的一篇文章,让我深刻的理解了堆排序的过程。文中的一个数组例子的图表排序过程描述十分详细易懂。因此觉得非常又学习价值,将其图表的描述摘抄了过来,以此分享给大家学习。参考:http
2017-09-17 12:45:02
286
原创 智能电视盒·路由·手机·家用电脑
在当今的家庭娱乐休闲中,电视无疑是家庭中使用最广泛且多人参与的视音频娱乐设备。而由于网络宽带的发展,单一功能的电视设备已经无法满足家庭的需求。那么大家首先想到的是家用电脑,因为家用电脑功能多,性能好,运行快,而家用电脑面向的是单人的且价格成本过高,视频效果也远没有大屏电视好。因此,往后电视不仅需要保持大屏的优势,具备电脑的娱乐功能且其价格成本也不能比家用电脑高。在当今,其智能电视盒的开发正是将在弥
2017-08-06 12:32:59
408
原创 数字图像处理看过的书
特征提取与选择:特征提取实质就是从D个特征中选择出d个(d模式分类及识别:最小错误率的贝叶斯决策,感知器分离器,近邻分离器(最近邻,k-近邻)。经典模式识别决策方法及实现人工神经网络、隐马尔可夫模型、决策树、支持向量机SVM、模板匹配 目标识别过程主要包括:目标证实、目标检测、目标鉴别及目标识别。其中,目标证实是判断图像中指定区域是否为目标,目标检测是定位目标的准确位置,目标鉴
2017-06-09 19:46:40
4219
原创 读 曹林的《人脸识别与人体动作识别技术及应用》笔记
一.人脸检测与跟踪人脸检测算法:Haaradaboost算法检测视频跟踪算法:粒子滤波器跟踪(改进均值权重粒子滤波器)目标出现:何时需要跟踪一个新目标目标消失:何时需要移除一个已经跟踪的目标目标修正:什么时候跟踪系统的跟踪结果出现错误,如何修正错误。a)假设人脸检测系统在第n帧检测到人脸,检测位置为LDn。b)使用均值权重粒子滤波器,对检测到的目标进行跟踪。c)fo
2017-06-09 17:03:58
1771
原创 读opencv3.0笔记
opencv的基本架构分析;在include/opencv2文件下opencv_modules.hpp文件存放有所有新模块构造相关的说明代码。也就是opencv2的所有组件的宏定义:#define HAVE_OPENCV_CALIB3D#define HAVE_OPENCV_CORE#define HAVE_OPENCV_FEATURES2D#define HAVE_OPENCV_
2017-05-17 22:23:55
341
原创 基于qt和opencv的远程视频监控与播放
当有摄像头接入时,则采集实时视频显示到界面并且使用子线程保存视频,并且当检测到有服务器连接时,则发送每帧图像到服务器,并且实时显示。当没有检测到摄像头时,可以打开保存的录像视频,显示到界面播放的同时通过tcp协议发送到服务器端显示。源代码已上传:http://download.csdn.net/detail/lidefu1000810218/9839045部分代码如下:server:#
2017-05-10 23:32:32
5185
1
转载 Linux的进程/线程间通信方式总结
Linux系统中的进程间通信方式主要以下几种:同一主机上的进程通信方式 * UNIX进程间通信方式: 包括管道(PIPE), 有名管道(FIFO), 和信号(Signal) * System V进程通信方式:包括信号量(Semaphore), 消息队列(Message Queue), 和共享内存(Shared Memory)网络主机间的进程通信方式
2017-05-07 16:55:30
330
原创 基于ARM嵌入式射频识别学生安全系统
技术难点是射频识别,类型是短距离的无线通信技术。(一)射频识别技术介绍1.射频识别的相关概念(1)射频识别(Rodio Frequency Identification ,RFID)技术是一种非接触自动识别技术,利用射频信号通过空间耦合实现无接触信息传递并通过所传递的信息达到识别目的。(2)射频识别卡(RFID卡),也称为非接触IC卡(3)阅读器:例如校园卡的读卡器(刷卡机)设
2017-04-29 11:17:34
847
原创 RAM嵌入式项目实战开发
对于有嵌入式技术基础的初学者来说,嵌入式项目实战是具有很大吸引力和挑战性的。同时,通过项目实践可以快速提升自己的实战技术,编程能力和项目开发能力。为了记录自己的学习历程,特写此文以回顾。(一)arm嵌入式实战开发,从嵌入式系统的介绍开始。嵌入式系统以应用为中心、软硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专业计算机系统。(集软硬件于一体,软件代码小、高度自动化
2017-04-29 10:29:21
6962
原创 移植opencv2.4.9到ok6410
Ubuntu14.04 Opencv2.4.9交叉编译本文转载 :http://blog.csdn.net/stihy/article/details/51288743作为学习历程记录下,非常感谢博主。 本文提供一个已验证可实行的方法:Ubuntu14.04+Opencv2.4.9+arm-linux-gcc-4.3.2+2.8.12。随便说下,如果直接
2017-03-27 18:38:03
620
原创 特征提取
关于图像特征提取的几点小结:基于颜色的特征提取:RGB颜色空间——HSV颜色空间基于纹理的特征提取: LBP(Local Binary Pattern,局部二值模式)局部纹理算子;gabor滤波提取全局纹理,忽略表情局部变化基于形状的特征提取:伦敦特征Hough (http://www.open-open.com/lib/view/open1440832074794.html)
2017-03-15 10:35:05
1381
转载 基于USB摄像头视频数据采集和利用FFMPEG库函数进行视频数据压缩
从一篇博客中看到的代码,觉得很有用,暂时没时间研究就先转载保存先。参考http://blog.csdn.net/yakimin/article/details/19284467后面可以通过tcp传输等,在pc上或者开发板上把yuv视频解码,然后再把yuv转RGB播放出来。同时之前找了个解码的播放器有源码,可以结合两者实现此功能。链接:#include #include
2017-02-24 23:04:59
1109
原创 智能养殖畜牧系统研发
在当今物联网发展的时代,人工智能取得的成绩轰动世界,深度学习与大数据的技术研发,机器视觉与语音识别的成熟,各大智能app的出现,以及养殖畜牧业的规模发展,及其中的利润巨大,不管从技术和经济上都预兆着智能养殖的到来。其研发技术的需要自然就成了唯一艰苦的困难。但是,有了个方面的专业知识,智能养殖系统的研发也不是天方夜谭。首先,智能养殖系统应该包括,养殖种类,各大病症的查询及治疗,卖家与买家用户的入
2017-02-18 10:24:16
1734
转载 svm的数学推导原理
来自http://blog.csdn.net/sealyao/article/details/6442403的转载很清晰明了容易理解。支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。一、数学部分1.1
2016-12-07 15:45:12
14048
翻译 关于数组指针,指针数组,双重数组,二维矩阵,字符串数组,双重字符指针的理解
1、二维数组 int array[10][10]; 函数声明: void fun(int a[][10]) 函数调用:fun(array); 访问: 一般使用a[i][j]来访问数组中的元素2、指针数组 int *array[10]; 函数声明:void fun(int *a[10]); 函数调用:fun(ar
2016-08-17 17:16:58
2120
原创 arm上打开摄像头
在我们做opencv的图像视频采集的和处理的时候,难免会用到摄像头来采集视频图像。而我们在电脑上运行调用opencv的打开摄像头和打开视频的程序时,这时候是可以运行成功的,然后当我们以为移植把opencv的库移植到arm板上,在运行我们的程序应该也是可以顺利打开摄像头的。只有自己到后面动手移植过去的时候才发现运行到打开摄像头和打开视频文件的时候就发生段错误;因为无法读取图像文件。那么问什么PC机上
2015-11-26 22:30:51
7417
2
原创 qt的俄罗斯方块游戏移植到OK6410的修改
这几天在学习QT编程,编写过一些基本的qt对话框和简单的界面,对于一些简单的qt库的应用,如button,text,还有layout等界面布局管理。本以为已经可以对qt已经初步掌握了,可是发现离开教程,离开书本等,自己编写的时候又遇到了很多问题,让自己无从下手。它不是基本qt的库函数的应用等,而是整个qt项目的设计的生疏,因为之前都是照着例子打进去,没有仔细考虑过设计的整体思路方法,当时只是为了熟
2015-11-22 10:53:56
1166
STM8 单片机的bootloader源码
2017-11-01
qt+opencv视频图像采集与基于tcp协议的传输
2017-05-10
移植opencv用到的三方源码
2017-03-27
linux系统下基于QT的usb摄像头视频采集及保存
2017-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人