• 二维码识别 基于stm32 ov7725


    二维码识别 基于stm32 ov7725

    二维码识别技术在我们的生活中应用的很方便了,但基本都是基于手机的,目前在公交车上也存在了扫描二维码的机器,上次坏了之后,发现一只小企鹅,原来是基于linux的,这里介绍一下基于stm32f767和ov7725以及zbar的二维码识别技术,其实相关的代码正点原子也给出了,但是核心的识别库是以.lib文件的形式给出的,没有源码 
    这里将从以下几个方面介绍:

    基于F767的OV7725
    zbar算法的介绍
    zbar算法的移植
    stm32的HAL库介绍
    总结

    基于F767的OV7725

    基本上所有的OV系列的摄像头都差不多,本质上就是工厂ID,和输入的寄存器的值不同,因为正点原子官方提供了正规的OV2640的代码,我们只需要稍作修改就可以了,当然,在实际过程中涉及到利用DCMI接口进行帧的获取,这个地方与0V2640也有所不一样,需要根据数据手册来完成,具体的看我下面提供的代码

    zbar算法的介绍

    zbar算法的介绍,在网络上有一篇很好的文章 
    这里贴上链接:http://blog.csdn.net/u013738531/article/details/54574262

    zbar算法的移植

    zbar算法是由日本发明的,用C语言完成,因此可以很好的移植进STM32,当然解码二维码还有zxing算法,但是这个好像是用java完成的,因此不好移植,所以在单片机上,大家还是主要用zbar 
    关于zbar的移植需要注意一下几个点: 
    (1):因为是基于C库的代码,中间会有很多的printf等函数,但我们使用的是自己定义的printf函数,因此关于此类函数,都需要注意 
    (2):关于free,malloc等内存管理的,正点原子自己提供了相关的内存管理函数,因此,我们需要对应的替换掉 
    (3):我再淘宝上面买了一个基于stm32的zbar算法,发现跟网上的差不多,自己修改一下就可以使用了,自己根据这个可以看一下怎么移植,以后关于一些工具的移植都可以参考这种移植方法,下面我提供一下zbar的算法

    stm32的HAL库介绍

    现在大家做stm32的开发,基本上都是基于库函数,因为库函数帮助我们完成了很多任务,提供了很多API,我们只需学习如何使用这些api即可,最新的hal库同样提供了很多API,我们的这个工程最重要的两个地方涉及;
    (1)sram的使用
    最新的sram的api与标准库大致相同,主要是熟悉每个sram接口的作用,其可以支持sram,sdram等,需要我们去稍作修改即可
    (2)dcmi的使用
    dcmi主要拿来产生帧中断,并配合DMA进行图像数据的传输,明白怎样设定这些结构体

    总结

    很多东西都忘记了,下面贴上我的代码,自己在代码中去看具体的操作,结合正点原子官方提供的代码,去做一些对比,希望可以从中获取你想要的

    参考资料:http://www.makeru.com.cn/                        嵌入式学习交流群:561213221

  • 相关阅读:
    重新整理数据结构与算法(c#)——算法套路迪杰斯特拉算法[三十一]
    重新整理数据结构与算法(c#)——算法套路k克鲁斯算法[三十]
    重新整理数据结构与算法(c#)——算法套路普利姆算法[二十九]
    arp 的概念解析
    什么是ip协议二
    什么是ip协议一
    python自动化报告的输出
    使用wxpy自动发送微信消息
    Pycharm2017常用快捷键
    【新番】不正经的魔术讲师与禁忌教典【全集更新中】
  • 原文地址:https://www.cnblogs.com/huan-huan/p/8708972.html
Copyright © 2020-2023  润新知