标题: STM32二维码与条形码识别库(含资料与源码) [打印本页]

作者: 1061700625    时间: 2017-8-16 17:33
标题: STM32二维码与条形码识别库(含资料与源码)
本二维码&条码识别LIB由ALIENTEK提供,方便大家使用.

该二维码&条码识别LIB功能:
1,支持QR二维码识别.
2,支持CODE128,CODE39,I25,EAN13等四种编码方式的条码识别.
3,支持UTF8-OEM转换输出(需要客户自己提供转换码表).
   
本LIB移植步骤:    
1,实现atk_qrdecode.c里面的所有函数.
2,堆栈(Stack_Size)设置为0X1000或以上.
        
本LIB使用步骤:                       
1,调用atk_qr_init函数,初始化识别程序,返回值为ATK_QR_OK,则初始化成功.
2,调用atk_qr_decode函数,给定参数,对图像进行识别.
3,如果需要不停的识别,则重复第2个步骤即可.
4,调用atk_qr_destroy函数,结束识别,释放所有内存.结束识别.



压缩包里面包含一下pdf资料:
QRCode-编码解码标准.pdf
二维条码的编解码及系统实现.pdf
ATK-QR二维码&条码识别库使用说明(探索者F407版)_AN1616A.pdf
ATK-QR二维码&条码识别库使用说明(阿波罗F429版)_AN1616B.pdf

stm32单片机源程序如下:
  1. #include "atk_qrdecode.h"
  2. #include "malloc.h"
  3. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4. //本程序只供学习使用,未经作者许可,不得用于其它任何用途
  5. //
  6. //本二维码&条码识别LIB由ALIENTEK提供,方便大家使用.
  7. //该二维码&条码识别LIB功能:
  8. //1,支持QR二维码识别.
  9. //2,支持CODE128,CODE39,I25,EAN13等四种编码方式的条码识别.
  10. //3,支持UTF8-OEM转换输出(需要客户自己提供转换码表).

  11. //当需要支持UTF82OEM转换输出的时候:
  12. //1,将ATK_QR_UTF82OEM_SUPPORT宏的值改为1(默认是1)
  13. //2,实现atk_qr_convert函数.该函数将unicode编码转换为OEM编码.
  14. //这样,输出结果,就是OEM编码的字符串(一般就是GBK编码),方便在单片机系统里面显示.
  15. //如果不需要支持OEM转换,则:将ATK_QR_UTF82OEM_SUPPORT宏的值改为0即可,这样输出结果就是原始编码
  16. //的字符串(UTF8/GBK).如果有中文,在单片机系统里面,可能是无法直接显示的,如果是英文,则可以直接显示.

  17. //当需要支持GBK编码的二维码时:将ATK_QR_GBK_SUPPORT宏的值改为1(默认是1)即可.

  18. //本LIB移植步骤:        
  19. //1,实现atk_qrdecode.c里面的所有函数.
  20. //2,堆栈(Stack_Size)设置为0X1000或以上.

  21. //本LIB使用步骤:                                          
  22. //1,调用atk_qr_init函数,初始化识别程序,返回值为ATK_QR_OK,则初始化成功.
  23. //2,调用atk_qr_decode函数,给定参数,对图像进行识别.
  24. //3,如果需要不停的识别,则重复第2个步骤即可.
  25. //4,调用atk_qr_destroy函数,结束识别,释放所有内存.结束识别.

  26. //u8 atk_qr_decode(u16 bmp_width,u16 bmp_heigh,u8 *bmp,u8 btype,u8* result)函数参数说明:
  27. //img_width,img_heigh:输入图像的宽度和高度
  28. //imgbuf:图像缓存区(8位灰度图像,不是RGB565!!!!)
  29. //btype:0,识别二维码
  30. //      1,识别CODE128条码
  31. //      2,识别CODE39条码
  32. //      3,识别I25条码
  33. //      4,识别EAN13条码
  34. //result:识别结果缓冲区.如果result[0]==0,则说明未识别到任何数据,否则就是识别到的数据(字符串)
  35. //返回值:ATK_QR_OK,识别完成
  36. //            其他,错误代码
  37. //如果需要对所有支持的编码进行识别,则轮流设置btype为0~4即可实现.                                          
  38. //版本:V1.4

  39. //内存设置函数
  40. void atk_qr_memset(void *p,u8 c,u32 len)
  41. {
  42.         mymemset(p,c,len);
  43. }                                                   
  44. //内存申请函数
  45. void *atk_qr_malloc(u32 size)
  46. {
  47.         return mymalloc(SRAMIN,size);
  48. }
  49. //内存重申请函数
  50. void *atk_qr_realloc(void *ptr,u32 size)
  51. {
  52.         return myrealloc(SRAMIN,ptr,size);
  53. }
  54. //内存释放函数
  55. void atk_qr_free(void *ptr)
  56. {
  57.         myfree(SRAMIN,ptr);
  58. }        
  59. //内存复制函数
  60. void atk_qr_memcpy(void *des,void *src,u32 n)
  61. {
  62.         mymemcpy((u8*)des,(u8*)src,n);
  63. }
  64. //如果使能了UTF2OEM支持,则需要实现将UTF8转出的UNICODE转码成OEM
  65. #if ATK_QR_UTF82OEM_SUPPORT
  66. #include "ff.h"
  67. //将UNICODE编码转换成OEM编码
  68. //unicode:UNICODE编码的字符内码
  69. //返回值:OEM编码方式的字符内码
  70. u16 atk_qr_convert(u16 unicode)
  71. {
  72.         return ff_convert(unicode,0);         
  73. }
  74. #endif

复制代码

文件夹下包含4个源码:
(寄存器版,适合探索者F407开发板)扩展实验SE01 ATK-QR二维码、条形码识别实验.rar
(标准库版,适合探索者F407开发板)扩展实验SE01 ATK-QR二维码、条形码识别实验.rar

(寄存器版,适合阿波罗F429开发板)扩展实验SE01 ATK-QR二维码、条形码识别实验.rar
(HAL库版,适合阿波罗F429开发板)扩展实验SE01 ATK-QR二维码、条形码识别实验.rar

(寄存器版,适合阿波罗F767开发板)扩展实验SE01 ATK-QR二维码、条形码识别实验.rar
(HAL库版,适合阿波罗F767开发板)扩展实验SE01 ATK-QR二维码、条形码识别实验.rar


所有资料51hei提供下载:
ATK-QR 二维码与条形码识别库.rar (13.54 MB, 下载次数: 673)




作者: 1061700625    时间: 2017-8-16 17:49
棒(๑•̀ㅂ•́)و✧!
作者: wangtaolf    时间: 2017-9-15 07:55
1061700625 发表于 2017-8-16 17:49
棒()!

请问这个代码有没有可能移植到正点原子新战舰STM32F103的板子上使用30万像素的摄像头呢?
作者: o桃花岛主o    时间: 2017-9-28 11:21
学习一下。谢谢楼主
作者: fengye20101112    时间: 2017-9-28 15:39
学习一下,感谢楼主
作者: stardream    时间: 2017-10-24 11:57
不错。。就是下不来。没分。。
作者: yangyyangy    时间: 2017-11-3 18:33
下不下来好伤心
作者: lzj48    时间: 2018-3-12 17:41
好东西,看起来很有用。
作者: guodiqing    时间: 2018-3-14 22:29
分不够,下不了呀,努力赚分去。
作者: zopxygoing    时间: 2018-4-25 15:11
谢谢楼主,没分呀。 赚分去
作者: 薯条    时间: 2018-4-26 14:27
请问接口是使用摄像头模块吗
作者: owenli520    时间: 2018-5-2 14:28
这个不错,感谢分享
作者: liaohu699    时间: 2018-7-31 13:22
谢谢分享
作者: netviom    时间: 2018-8-1 16:48
留个电话,有个技术问题看能否沟通一下。我的18620202396
作者: fzfrd    时间: 2018-8-2 22:58
下来学习下
作者: ccc金    时间: 2018-9-7 21:46
感谢楼主
作者: zcs1975421    时间: 2018-9-17 13:36
真的很不错!感谢楼主!
作者: xzxlove    时间: 2018-9-22 15:59
很棒,支持分享
作者: zwc58    时间: 2018-10-26 20:19
谢谢楼主.
作者: liubaoming    时间: 2019-1-15 10:50
有硬件识别电路吗?
作者: hellowC8051    时间: 2019-2-15 08:55
很棒,现在很流行,支持分享
作者: xiaos200800    时间: 2019-3-21 16:59
看到这个内容我想下载内容
作者: 3018202274    时间: 2019-5-17 08:02
同时下载人数过多?
作者: qw在线    时间: 2019-6-10 11:51
支持!!!
作者: shszwqs    时间: 2019-6-18 11:24
来向楼主学习
作者: 暗香盛秀    时间: 2019-6-18 14:53
楼主棒棒哒~
作者: xzsxiao213    时间: 2019-7-4 11:32
支持,学习学习
作者: cfregergf    时间: 2019-7-9 16:01
感谢楼主
作者: jettlau    时间: 2019-8-7 09:44
谢谢楼主.
作者: 鹏博士PBs    时间: 2019-8-7 10:12
还是蛮有用的 感谢楼主
作者: sgw182    时间: 2019-9-21 15:37
给力给力
作者: 电子蔡鸟    时间: 2020-2-19 14:08
感谢分享
作者: hhlgx    时间: 2020-2-22 11:37

感谢分享
作者: wsdccr    时间: 2020-5-27 15:03
stm32f103系类的可以用来识别二维码吗?
作者: 1422235518@qq.c    时间: 2020-6-24 11:38
学习了,不错
作者: 2646536    时间: 2021-10-16 17:02
请问一直识别不到是什么原因呢
作者: 2354519235    时间: 2021-11-25 10:59
可以用stm32精英版和OV2640摄像头代替实现吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1