找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 24013|回復(fù): 36
打印 上一主題 下一主題
收起左側(cè)

STM32二維碼與條形碼識(shí)別庫(kù)(含資料與源碼)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:223281 發(fā)表于 2017-8-16 17:33 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本二維碼&條碼識(shí)別LIB由ALIENTEK提供,方便大家使用.

該二維碼&條碼識(shí)別LIB功能:
1,支持QR二維碼識(shí)別.
2,支持CODE128,CODE39,I25,EAN13等四種編碼方式的條碼識(shí)別.
3,支持UTF8-OEM轉(zhuǎn)換輸出(需要客戶自己提供轉(zhuǎn)換碼表).
   
本LIB移植步驟:    
1,實(shí)現(xiàn)atk_qrdecode.c里面的所有函數(shù).
2,堆棧(Stack_Size)設(shè)置為0X1000或以上.
        
本LIB使用步驟:                       
1,調(diào)用atk_qr_init函數(shù),初始化識(shí)別程序,返回值為ATK_QR_OK,則初始化成功.
2,調(diào)用atk_qr_decode函數(shù),給定參數(shù),對(duì)圖像進(jìn)行識(shí)別.
3,如果需要不停的識(shí)別,則重復(fù)第2個(gè)步驟即可.
4,調(diào)用atk_qr_destroy函數(shù),結(jié)束識(shí)別,釋放所有內(nèi)存.結(jié)束識(shí)別.



壓縮包里面包含一下pdf資料:
QRCode-編碼解碼標(biāo)準(zhǔn).pdf
二維條碼的編解碼及系統(tǒng)實(shí)現(xiàn).pdf
ATK-QR二維碼&條碼識(shí)別庫(kù)使用說(shuō)明(探索者F407版)_AN1616A.pdf
ATK-QR二維碼&條碼識(shí)別庫(kù)使用說(shuō)明(阿波羅F429版)_AN1616B.pdf

stm32單片機(jī)源程序如下:
  1. #include "atk_qrdecode.h"
  2. #include "malloc.h"
  3. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  4. //本程序只供學(xué)習(xí)使用,未經(jīng)作者許可,不得用于其它任何用途
  5. //
  6. //本二維碼&條碼識(shí)別LIB由ALIENTEK提供,方便大家使用.
  7. //該二維碼&條碼識(shí)別LIB功能:
  8. //1,支持QR二維碼識(shí)別.
  9. //2,支持CODE128,CODE39,I25,EAN13等四種編碼方式的條碼識(shí)別.
  10. //3,支持UTF8-OEM轉(zhuǎn)換輸出(需要客戶自己提供轉(zhuǎn)換碼表).

  11. //當(dāng)需要支持UTF82OEM轉(zhuǎn)換輸出的時(shí)候:
  12. //1,將ATK_QR_UTF82OEM_SUPPORT宏的值改為1(默認(rèn)是1)
  13. //2,實(shí)現(xiàn)atk_qr_convert函數(shù).該函數(shù)將unicode編碼轉(zhuǎn)換為OEM編碼.
  14. //這樣,輸出結(jié)果,就是OEM編碼的字符串(一般就是GBK編碼),方便在單片機(jī)系統(tǒng)里面顯示.
  15. //如果不需要支持OEM轉(zhuǎn)換,則:將ATK_QR_UTF82OEM_SUPPORT宏的值改為0即可,這樣輸出結(jié)果就是原始編碼
  16. //的字符串(UTF8/GBK).如果有中文,在單片機(jī)系統(tǒng)里面,可能是無(wú)法直接顯示的,如果是英文,則可以直接顯示.

  17. //當(dāng)需要支持GBK編碼的二維碼時(shí):將ATK_QR_GBK_SUPPORT宏的值改為1(默認(rèn)是1)即可.

  18. //本LIB移植步驟:        
  19. //1,實(shí)現(xiàn)atk_qrdecode.c里面的所有函數(shù).
  20. //2,堆棧(Stack_Size)設(shè)置為0X1000或以上.

  21. //本LIB使用步驟:                                          
  22. //1,調(diào)用atk_qr_init函數(shù),初始化識(shí)別程序,返回值為ATK_QR_OK,則初始化成功.
  23. //2,調(diào)用atk_qr_decode函數(shù),給定參數(shù),對(duì)圖像進(jìn)行識(shí)別.
  24. //3,如果需要不停的識(shí)別,則重復(fù)第2個(gè)步驟即可.
  25. //4,調(diào)用atk_qr_destroy函數(shù),結(jié)束識(shí)別,釋放所有內(nèi)存.結(jié)束識(shí)別.

  26. //u8 atk_qr_decode(u16 bmp_width,u16 bmp_heigh,u8 *bmp,u8 btype,u8* result)函數(shù)參數(shù)說(shuō)明:
  27. //img_width,img_heigh:輸入圖像的寬度和高度
  28. //imgbuf:圖像緩存區(qū)(8位灰度圖像,不是RGB565!!!!)
  29. //btype:0,識(shí)別二維碼
  30. //      1,識(shí)別CODE128條碼
  31. //      2,識(shí)別CODE39條碼
  32. //      3,識(shí)別I25條碼
  33. //      4,識(shí)別EAN13條碼
  34. //result:識(shí)別結(jié)果緩沖區(qū).如果result[0]==0,則說(shuō)明未識(shí)別到任何數(shù)據(jù),否則就是識(shí)別到的數(shù)據(jù)(字符串)
  35. //返回值:ATK_QR_OK,識(shí)別完成
  36. //            其他,錯(cuò)誤代碼
  37. //如果需要對(duì)所有支持的編碼進(jìn)行識(shí)別,則輪流設(shè)置btype為0~4即可實(shí)現(xiàn).                                          
  38. //版本:V1.4

  39. //內(nèi)存設(shè)置函數(shù)
  40. void atk_qr_memset(void *p,u8 c,u32 len)
  41. {
  42.         mymemset(p,c,len);
  43. }                                                   
  44. //內(nèi)存申請(qǐng)函數(shù)
  45. void *atk_qr_malloc(u32 size)
  46. {
  47.         return mymalloc(SRAMIN,size);
  48. }
  49. //內(nèi)存重申請(qǐng)函數(shù)
  50. void *atk_qr_realloc(void *ptr,u32 size)
  51. {
  52.         return myrealloc(SRAMIN,ptr,size);
  53. }
  54. //內(nèi)存釋放函數(shù)
  55. void atk_qr_free(void *ptr)
  56. {
  57.         myfree(SRAMIN,ptr);
  58. }        
  59. //內(nèi)存復(fù)制函數(shù)
  60. void atk_qr_memcpy(void *des,void *src,u32 n)
  61. {
  62.         mymemcpy((u8*)des,(u8*)src,n);
  63. }
  64. //如果使能了UTF2OEM支持,則需要實(shí)現(xiàn)將UTF8轉(zhuǎn)出的UNICODE轉(zhuǎn)碼成OEM
  65. #if ATK_QR_UTF82OEM_SUPPORT
  66. #include "ff.h"
  67. //將UNICODE編碼轉(zhuǎn)換成OEM編碼
  68. //unicode:UNICODE編碼的字符內(nèi)碼
  69. //返回值:OEM編碼方式的字符內(nèi)碼
  70. u16 atk_qr_convert(u16 unicode)
  71. {
  72.         return ff_convert(unicode,0);         
  73. }
  74. #endif

復(fù)制代碼

文件夾下包含4個(gè)源碼:
(寄存器版,適合探索者F407開發(fā)板)擴(kuò)展實(shí)驗(yàn)SE01 ATK-QR二維碼、條形碼識(shí)別實(shí)驗(yàn).rar
(標(biāo)準(zhǔn)庫(kù)版,適合探索者F407開發(fā)板)擴(kuò)展實(shí)驗(yàn)SE01 ATK-QR二維碼、條形碼識(shí)別實(shí)驗(yàn).rar

(寄存器版,適合阿波羅F429開發(fā)板)擴(kuò)展實(shí)驗(yàn)SE01 ATK-QR二維碼、條形碼識(shí)別實(shí)驗(yàn).rar
(HAL庫(kù)版,適合阿波羅F429開發(fā)板)擴(kuò)展實(shí)驗(yàn)SE01 ATK-QR二維碼、條形碼識(shí)別實(shí)驗(yàn).rar

(寄存器版,適合阿波羅F767開發(fā)板)擴(kuò)展實(shí)驗(yàn)SE01 ATK-QR二維碼、條形碼識(shí)別實(shí)驗(yàn).rar
(HAL庫(kù)版,適合阿波羅F767開發(fā)板)擴(kuò)展實(shí)驗(yàn)SE01 ATK-QR二維碼、條形碼識(shí)別實(shí)驗(yàn).rar


所有資料51hei提供下載:
ATK-QR 二維碼與條形碼識(shí)別庫(kù).rar (13.54 MB, 下載次數(shù): 673)



評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
IdeaMing + 5 很給力!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏21 分享淘帖 頂3 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:223281 發(fā)表于 2017-8-16 17:49 | 只看該作者
棒(๑•̀ㅂ•́)و✧!
回復(fù)

使用道具 舉報(bào)

板凳
ID:232785 發(fā)表于 2017-9-15 07:55 來(lái)自手機(jī) | 只看該作者
1061700625 發(fā)表于 2017-8-16 17:49
棒()!

請(qǐng)問(wèn)這個(gè)代碼有沒有可能移植到正點(diǎn)原子新戰(zhàn)艦STM32F103的板子上使用30萬(wàn)像素的攝像頭呢?
回復(fù)

使用道具 舉報(bào)

地板
ID:236297 發(fā)表于 2017-9-28 11:21 | 只看該作者
學(xué)習(xí)一下。謝謝樓主
回復(fù)

使用道具 舉報(bào)

5#
ID:236322 發(fā)表于 2017-9-28 15:39 | 只看該作者
學(xué)習(xí)一下,感謝樓主
回復(fù)

使用道具 舉報(bào)

6#
ID:242380 發(fā)表于 2017-10-24 11:57 | 只看該作者
不錯(cuò)。。就是下不來(lái)。沒分。。
回復(fù)

使用道具 舉報(bào)

7#
ID:245783 發(fā)表于 2017-11-3 18:33 | 只看該作者
下不下來(lái)好傷心
回復(fù)

使用道具 舉報(bào)

8#
ID:290910 發(fā)表于 2018-3-12 17:41 | 只看該作者
好東西,看起來(lái)很有用。
回復(fù)

使用道具 舉報(bào)

9#
ID:190672 發(fā)表于 2018-3-14 22:29 | 只看該作者
分不夠,下不了呀,努力賺分去。
回復(fù)

使用道具 舉報(bào)

10#
ID:316258 發(fā)表于 2018-4-25 15:11 | 只看該作者
謝謝樓主,沒分呀。 賺分去
回復(fù)

使用道具 舉報(bào)

11#
ID:137219 發(fā)表于 2018-4-26 14:27 | 只看該作者
請(qǐng)問(wèn)接口是使用攝像頭模塊嗎
回復(fù)

使用道具 舉報(bào)

12#
ID:314863 發(fā)表于 2018-5-2 14:28 | 只看該作者
這個(gè)不錯(cuò),感謝分享
回復(fù)

使用道具 舉報(bào)

13#
ID:381251 發(fā)表于 2018-7-31 13:22 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

14#
ID:381712 發(fā)表于 2018-8-1 16:48 | 只看該作者
留個(gè)電話,有個(gè)技術(shù)問(wèn)題看能否溝通一下。我的18620202396
回復(fù)

使用道具 舉報(bào)

15#
ID:166329 發(fā)表于 2018-8-2 22:58 | 只看該作者
下來(lái)學(xué)習(xí)下
回復(fù)

使用道具 舉報(bào)

16#
ID:379665 發(fā)表于 2018-9-7 21:46 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報(bào)

17#
ID:110369 發(fā)表于 2018-9-17 13:36 | 只看該作者
真的很不錯(cuò)!感謝樓主!
回復(fù)

使用道具 舉報(bào)

18#
ID:57973 發(fā)表于 2018-9-22 15:59 | 只看該作者
很棒,支持分享
回復(fù)

使用道具 舉報(bào)

19#
ID:163765 發(fā)表于 2018-10-26 20:19 | 只看該作者
謝謝樓主.
回復(fù)

使用道具 舉報(bào)

20#
ID:468370 發(fā)表于 2019-1-15 10:50 | 只看該作者
有硬件識(shí)別電路嗎?
回復(fù)

使用道具 舉報(bào)

21#
ID:328121 發(fā)表于 2019-2-15 08:55 | 只看該作者
很棒,現(xiàn)在很流行,支持分享
回復(fù)

使用道具 舉報(bào)

22#
ID:495520 發(fā)表于 2019-3-21 16:59 | 只看該作者
看到這個(gè)內(nèi)容我想下載內(nèi)容
回復(fù)

使用道具 舉報(bào)

23#
ID:537563 發(fā)表于 2019-5-17 08:02 來(lái)自手機(jī) | 只看該作者
同時(shí)下載人數(shù)過(guò)多?
回復(fù)

使用道具 舉報(bào)

24#
ID:230254 發(fā)表于 2019-6-10 11:51 | 只看該作者
支持。。
回復(fù)

使用道具 舉報(bào)

25#
ID:558527 發(fā)表于 2019-6-18 11:24 | 只看該作者
來(lái)向樓主學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

26#
ID:565718 發(fā)表于 2019-6-18 14:53 | 只看該作者
樓主棒棒噠~
回復(fù)

使用道具 舉報(bào)

27#
ID:419801 發(fā)表于 2019-7-4 11:32 | 只看該作者
支持,學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

28#
ID:581002 發(fā)表于 2019-7-9 16:01 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報(bào)

29#
ID:530337 發(fā)表于 2019-8-7 09:44 | 只看該作者
謝謝樓主.
回復(fù)

使用道具 舉報(bào)

30#
ID:282095 發(fā)表于 2019-8-7 10:12 | 只看該作者
還是蠻有用的 感謝樓主
回復(fù)

使用道具 舉報(bào)

31#
ID:614442 發(fā)表于 2019-9-21 15:37 | 只看該作者
給力給力
回復(fù)

使用道具 舉報(bào)

32#
ID:279015 發(fā)表于 2020-2-19 14:08 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報(bào)

33#
ID:515696 發(fā)表于 2020-2-22 11:37 | 只看該作者

感謝分享
回復(fù)

使用道具 舉報(bào)

34#
ID:594831 發(fā)表于 2020-5-27 15:03 | 只看該作者
stm32f103系類的可以用來(lái)識(shí)別二維碼嗎?
回復(fù)

使用道具 舉報(bào)

35#
ID:788525 發(fā)表于 2020-6-24 11:38 | 只看該作者
學(xué)習(xí)了,不錯(cuò)
回復(fù)

使用道具 舉報(bào)

36#
ID:810656 發(fā)表于 2021-10-16 17:02 | 只看該作者
請(qǐng)問(wèn)一直識(shí)別不到是什么原因呢
回復(fù)

使用道具 舉報(bào)

37#
ID:984560 發(fā)表于 2021-11-25 10:59 | 只看該作者
可以用stm32精英版和OV2640攝像頭代替實(shí)現(xiàn)嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表