自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 树莓派系列五:火焰检测三(基于NCNN)

前言在前面两篇关于火焰检测的文章中,最终的效果不是很好,为了提高火焰检测的效果,又搜集了一些火焰数据,训练的网络由之前的yolov3-tiny改为mobilev2-yolov3,最终在树莓派上利用NCNN推算框架,比之前的效果要好很多,如图:下面把实现的步骤和大家分享下:在darknet下训练训练的cfg和model文件如果需要联系笔者在树莓派上部署NCNN官方提供了在树莓派上的编译说明,按照这个说明是可以编译起来的。这里可以参考这篇文章来安装依赖:sudo apt-get install

2020-08-12 21:54:45 1348 4

原创 树莓派系列五:火焰检测二(基于yolov3)

前言上一篇文章中利用RGB判据和HIS判据,设定合适的阈值条件,检测出火焰对应像素的区域,将原图二值化,经过中值滤波以及数学形态学的膨胀运算等图像处理,消除一些噪声及离散点,连通一些遗漏的区域,从而来检测火焰,这个方法在背景比较单调且与火焰差别较大时,效果良好,几乎没有任何噪声对其造成干扰。但当背景复杂或与火焰颜色比较相似时,会不时出现噪声和误判。今天和大家分享利用目标检测算法中的yolov3来检测火焰。数据数据并标注我在网络上找到了一批关于火焰的数据将这些数据标注将标注好的数据进行训练,得

2020-08-09 21:16:12 1281 1

原创 树莓派系列五:openCV之火焰检测(一)

前言根据论文An Early Fire-Detection Method Based on Image Processing ,The Author is:Thou-Ho (Chao-Ho) Chen, Ping-Hsueh Wu, and Yung-Chuen Chiou 中原理实现火焰检测。基本原理主要结合RGB判据和HIS判据,设定合适的阈值条件,检测出火焰对应像素的区域,将原图二值化,经过中值滤波以及数学形态学的膨胀运算等图像处理,消除一些噪声及离散点,连通一些遗漏的区域。利用OpenC

2020-08-08 10:27:31 1349

原创 树莓派系列四:openCV之计算目标的偏移角度

前言上一篇为文中和大家分享如何检测图像中的圆,本篇继续和大家分享项目中的其他内容,项目的目标是坚持检测物体中的一个晶体,并计算它的偏移角度。思路检测图像中的圆形,并把圆形的区域裁剪下来,这样就可以排除一些干扰,这一步前面一篇文章已经分享。对裁剪得到的图进行二值化处理。寻找最大的目标块,找到目标块的中心点,根据该点和圆心的点计算角度。知识点二值化图像的二值化就是将图像上的像素点的灰度值设置为0或255,这样将使整个图像呈现出明显的黑白效果。在数字图像处理中,二值图像占有非常重要的地位,

2020-07-15 22:54:34 1539

原创 树莓派系列三:openCV之圆检测

前言最近工作上项目上需要检测图像中是否有圆形,下面就结合和大家介绍下利用opencv里面的函数来检测圆形。知识点HoughCircles方法原型:void HoughCircles(InputArray image,OutputArray circles, int method, double dp, double minDist, double param1=100,double param2=100, int minRadius=0, int maxRadius=0 ) 参数含义1

2020-07-05 21:59:25 1902 1

原创 树莓派系列二:openCV之头像添加国旗

由于OpenCV既是机器视觉库,也是图像处理库,给头像添加国旗,那自然是小菜一碟,下面就实现过程和大家分享一些openCV里图像处理函数。实现过程1、读取头像图像和国旗图像2、把国旗图像叠加到头像图像上3、把叠加好的图像保存好注意的地方:1、国旗图像必须缩放到合适的大小,才能放到头像图像上2、国旗图像缩放不能变形所以就把国旗的宽度缩放至头像宽度的1/4,然后高度也按照同样的比例进行缩放。知识点介绍1、resize()函数resize函数在各个图像处理项目里都应用十分广泛。函数调用:.

2020-06-26 11:51:43 427

原创 树莓派系列一:基于openCV+python的颜色识别(红色)

这是笔者第一个在树莓派上运行的工程,就这个工程用到的一些知识点和大家分享下。工具树莓派4+摄像头环境树莓派运行的环境参考下面这篇文章:树莓派下opencv3.4.0的安装与错误处理文章针对安装软件时碰到的问题都要详细的解决方案。知识点OpenCV简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MA

2020-06-21 18:49:34 6136

原创 win10下使用VS Code编译、运行 和调试C

环境准备编译器,笔者使用的MinGW64,安装好后一定不要忘记配置好环境变量,可以使用gcc -v确认编译器是否配置好。VScode 官网下载安装。编译运行命令行运行新建C文件,熟悉的HelloWorld。这个时候可以使用命令行运行,VSCode菜单栏Terminal—>new Termial 如下进入目录直接运行。一键运行打开VSCode 安装下面俩个插件(VSCode的强大之处很多大佬提供了丰富的插件)安装好后选中c文件点击VSCode右上放的三角或者使用Ctr

2020-05-30 22:13:15 1422

原创 STM32 时钟分析

前言在嵌入式系统中时钟是其脉搏,处理器内核在时钟驱动下完成指令执行,状态变换等动作。外设部件在时钟的驱动下完成各种工作,比如串口数据的发送、A/D转换、定时器计数等等。STM32时钟源HSI是高速内部时钟,RC振荡器,频率为8MHz。HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,比较常用的8MHz 12MHz 25MHz。LSI是低速内部时钟,RC振荡器,频率为40kHz。LSE是低速外部时钟,接频率为32.768kHz的石英晶体。在STM32中每个外设都有其单独的时钟,

2020-05-10 12:57:21 355

原创 stm32的flash和ram的占用情况分析

引用stm32片上自带FLASH和SRAM,简单讲FLASH用来存储程序的,SRAM是用来存储运行程序中的中间变量。本文详细分析下如何查看程序中FLASH和Sram的使用情况。开发工具: keil5示例芯片: STM32F105VCT6FLASH和SRAM介绍FLASH存储器又成为闪存,它与EEPROM都是掉电后数据不丢失的存储器,但是FLASH得存储容量都普遍的大于EEPROM,,在存...

2020-05-05 13:15:14 5400

原创 系统System.img解包和重新打包过程

系统System.img解包和重新打包过程把system.img转换成ext4格式 ./simg2img system.img system_ext4.img挂载ext4到systemMount目录进行修改 sudo mount system_ext4.img systemMount/ -o loop修改完成后执行./make_ext4fs -s -T -1 -S ...

2020-04-21 14:24:44 5064

原创 嵌入式软件中的延时函数

延时函数是嵌入式软件开发中必不可少的功能函数,在每个工程里都能找到它的踪影。虽然看起来不起眼,但在有些时序控制的场合,使用了一点点delay,往往能解决大问题。下面描述一下delay函数的几种实现。中断延时实现 U16 TimingDelay = 0;void delay_Init(void){ SysTick_Config(SystemFrequency / 1000); //1ms...

2020-04-13 21:14:05 4307 1

原创 OCR识别:纸币(人民币)号码识别

随着近几年支付宝、微信等非现支付手段的兴起,现金支付好像离我们的生活越来越远,笔者现在出门基本不带钱包,凭着手机就可以走遍全中国,尤其笔者目前从事支付宝和微信推广刷脸支付方面的工作,感觉若干年后真的如马云所说,手机都可以不要了。笔者从2011研究生毕业到2015年都是在从事嵌入式终端的纸币研究的工作,比如纸币的面额识别、纸币的新旧、残损识别以及号码识别等。笔者借着2019年新版人民币的发行就自己的...

2020-04-03 23:32:33 2187

原创 巧用map文件查找越界问题

在基于KEIL的项目开发过程中,会遇变量值与预设的运行结果不一样,在挂上仿真器debug了n个小时,排除了所有逻辑问题后,发现似乎这个值被意外更改了,但是要找到是谁修改了他却不好下手。现提出一种查找此类问题的方法——利用map文件查找越界。首先需要设置map的输出,在MDK-ARM的Option for Target—Output Listing的标签页中设置需要输出的map文件内容,如图:在...

2020-03-30 21:19:19 1108

原创 嵌入式设备下纸币面额识别:美元面额识别二

上一篇给大家介绍了美元图像识别的预处理里一些操作,今天继续分享在嵌入式设备中的美元识别,主要有以下内容:美元类别介绍,图像归一化处理,利用Liblinear对美元进行分类。美元类别美元纸币面额有100美元、50美元、20美元、10美元、5美元、2美元、1美元,除了1美元和2美元外,其他面额都有三个版本,而且纸币进入传感器的方式有4种方向,那么识别美元的类别一共有174=68。100美元为例:...

2020-03-27 21:35:13 721

原创 嵌入式设备下纸币面额识别:美元面额识别(一)

今天和大家分享下在嵌入式设备中的美元识别,主要介绍纸币图像的预处理部分,涉及到两部分内容:旋转矫正嵌入式设备采集的到纸币图像如下图:首先分析上图的特点,在这张图里,美元有一定的倾斜角度,但是角度不大;美元的背景比较黑,而且美元的边缘比较明显。没错,我们既抓住纸币的边缘比较明显来做文章。我们是不是可以先把纸币的轮廓找出来(找出来的轮廓当然就是一个大大的矩形),然后用矩形去包围它,得到他的旋...

2020-03-23 21:16:58 519

原创 C代码常用函数整理

在项目开发中,通常会用到一些通用或者经常使用的工具函数或者计算函数,一般我都会把这些函数放在一个.C文件下,使用的时候直接调用。下面整理出来分享给大家。查表法计算 CRC校验(CRC模型:CRC-16MODBUS)const unsigned int CrcTbl[256]= { 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x028...

2020-03-20 21:04:58 470

原创 嵌入式软件程序HardFault异常的查找方法

在嵌入式软件开发中,因为代码质量不佳、线程冲突、栈溢出等问题,会造成Arm的HardFault。这种异常通常存在偶发性、不确定性、复现困难的特点,同时复现后软件已经跑飞,程序在何处异常、异常时的临时变量环境等都不好查找。在开发中出现此问题后往往意味着长时间的复现问题并debug,常常陷入毫无头绪的排查,耗费了不少程序员的头发。现总结了一些处理这类问题的经验以共享。串口打印跟踪在代码中插入串口打...

2020-03-18 19:51:22 1050

原创 Altium Designer新建一个元件原理图封装

设计一款新的电路板的时候经常需要用到一些从未用到过的电子元器件,这个时候就需要我们按照产品的说明书制作我们画原理图要用到的元件封装以及PCB元件封装。我们就以我们线路板中的电源插座DC005为例来介绍一下制作元件库的过程和方法!查看DC005的规格书一般我们的元件规格书都是厂家提供的或者是在度娘上找有时我也喜欢在某宝上找,下面是我们在网上找的DC005的规格书。打开我们自己的原理图封装库:...

2020-03-13 20:25:37 5596

原创 U盘数据采集系统软件篇二(U盘模块)

本篇主要介绍U盘模块,必须是有USB-HOST功能的芯片才可以进行U盘数据的读写,在硬件设计时已经提到了,本例用到的芯片属于STM32F105系列是带有OTG功能的,103系列的芯片只能作为从设备。STM32F105 USB接口主要特点USB2.0协议,OTG1.3协议可作为USB主机、USB设备、OTG设备(A类/B类)使用可使用内部FS PHY做FS通信从官方下载USB例程我们...

2020-03-11 22:50:04 1033

原创 STM32也能玩高大上:实现目标分类

STM32也能实现目标分类?本文使用的芯片是STM32F103VCT6, 最大工作频率72M,64KB RAM, 256KB FLASH。资源就那么点,这些高大上的基本都是DSP、高级ARM之类芯片玩的,你一个这么点资源的芯片凑什么热闹。但是笔者经过多年在嵌入式方面的经验,成功实现了基于STM32的目标分类,下面把实现的过程和大家分享下。受限于芯片资源,我们设计的算法不能太复杂,主要体现在几个方...

2020-03-06 20:13:12 2222 2

原创 U盘数据采集系统软件篇一(串口和矩阵键盘模块)

硬件设计完成,下面就要进行软件开发了,本篇主要介绍串口模块、按键模块的初始化及功能测试。程序开发前我习惯查看原理图把所有外设对应的管脚全部列出来,方便后续开发时查看。串口模块串口模块管脚串口号管脚USART1 TXDPA9USART1 RXDPA10USART3 TXDPD8USART3 RXDPD9查看芯片规格书可知 PA9和PA10的...

2020-03-04 21:04:40 299

原创 U盘数据采集系统硬件篇二(PCB)

上一篇主要介绍我们的原理图初步部分,本篇我们会根据原理图来设计PCB电路板。上一版本中我们说到要设计2X2阵列的按键,后来发现原理图中并没有设计2X2的阵列按键 在此更正原理图。在画PCB过程中对原理图做了几处更改,这个在我们工作中是经常遇到的,设计初期做好的规划,都是基于理论的,正式实施的时候做一些调整。有兴趣的朋友可以对照一下。先把原理图改动贴出来:把所有的IO全部拉出来,便于以后调试...

2020-02-26 00:36:37 560

原创 U盘数据采集系统硬件篇一(原理图)

这是我分享的第一个案例,基于STM32的U盘数据采集及固件升级系统。最近遇到个需求需要对预留TLL串口的设备进行固件升级和工作数据收集。原有方案是通过PC来完成这项功能,但是由于PC不够方便,操作较麻烦等原因,就考虑做个小模块专用给设备升级和进行数据采集。主要功能:固件升级 把设备新固件拷贝到U盘,通过串口进行固件升级数据采集 通过串口把数据导入到采集板,并存入U盘通过分析以上功...

2020-02-20 22:12:29 1182

Mini PCIe_SCH_V1.02(标准版本).pdf

mini PCie 接口原理图参考,移远EC20设计参考电路(标准版本)Mini PCIe_SCH_V1.02(标准版本).pdf

2020-08-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除