本二維碼&條碼識別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函數,結束識別,釋放所有內存.結束識別.
0.png (52.11 KB, 下載次數: 145)
下載附件
2017-8-16 17:45 上傳
壓縮包里面包含一下pdf資料:
QRCode-編碼解碼標準.pdf
二維條碼的編解碼及系統實現.pdf
ATK-QR二維碼&條碼識別庫使用說明(探索者F407版)_AN1616A.pdf
ATK-QR二維碼&條碼識別庫使用說明(阿波羅F429版)_AN1616B.pdf
stm32單片機源程序如下:
- #include "atk_qrdecode.h"
- #include "malloc.h"
- //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- //本程序只供學習使用,未經作者許可,不得用于其它任何用途
- //
- //本二維碼&條碼識別LIB由ALIENTEK提供,方便大家使用.
- //該二維碼&條碼識別LIB功能:
- //1,支持QR二維碼識別.
- //2,支持CODE128,CODE39,I25,EAN13等四種編碼方式的條碼識別.
- //3,支持UTF8-OEM轉換輸出(需要客戶自己提供轉換碼表).
- //當需要支持UTF82OEM轉換輸出的時候:
- //1,將ATK_QR_UTF82OEM_SUPPORT宏的值改為1(默認是1)
- //2,實現atk_qr_convert函數.該函數將unicode編碼轉換為OEM編碼.
- //這樣,輸出結果,就是OEM編碼的字符串(一般就是GBK編碼),方便在單片機系統里面顯示.
- //如果不需要支持OEM轉換,則:將ATK_QR_UTF82OEM_SUPPORT宏的值改為0即可,這樣輸出結果就是原始編碼
- //的字符串(UTF8/GBK).如果有中文,在單片機系統里面,可能是無法直接顯示的,如果是英文,則可以直接顯示.
- //當需要支持GBK編碼的二維碼時:將ATK_QR_GBK_SUPPORT宏的值改為1(默認是1)即可.
- //本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函數,結束識別,釋放所有內存.結束識別.
- //u8 atk_qr_decode(u16 bmp_width,u16 bmp_heigh,u8 *bmp,u8 btype,u8* result)函數參數說明:
- //img_width,img_heigh:輸入圖像的寬度和高度
- //imgbuf:圖像緩存區(8位灰度圖像,不是RGB565!!!!)
- //btype:0,識別二維碼
- // 1,識別CODE128條碼
- // 2,識別CODE39條碼
- // 3,識別I25條碼
- // 4,識別EAN13條碼
- //result:識別結果緩沖區.如果result[0]==0,則說明未識別到任何數據,否則就是識別到的數據(字符串)
- //返回值:ATK_QR_OK,識別完成
- // 其他,錯誤代碼
- //如果需要對所有支持的編碼進行識別,則輪流設置btype為0~4即可實現.
- //版本:V1.4
- //內存設置函數
- void atk_qr_memset(void *p,u8 c,u32 len)
- {
- mymemset(p,c,len);
- }
- //內存申請函數
- void *atk_qr_malloc(u32 size)
- {
- return mymalloc(SRAMIN,size);
- }
- //內存重申請函數
- void *atk_qr_realloc(void *ptr,u32 size)
- {
- return myrealloc(SRAMIN,ptr,size);
- }
- //內存釋放函數
- void atk_qr_free(void *ptr)
- {
- myfree(SRAMIN,ptr);
- }
- //內存復制函數
- void atk_qr_memcpy(void *des,void *src,u32 n)
- {
- mymemcpy((u8*)des,(u8*)src,n);
- }
- //如果使能了UTF2OEM支持,則需要實現將UTF8轉出的UNICODE轉碼成OEM
- #if ATK_QR_UTF82OEM_SUPPORT
- #include "ff.h"
- //將UNICODE編碼轉換成OEM編碼
- //unicode:UNICODE編碼的字符內碼
- //返回值:OEM編碼方式的字符內碼
- u16 atk_qr_convert(u16 unicode)
- {
- return ff_convert(unicode,0);
- }
- #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)
2017-8-16 17:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|