欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

二維碼的容量有多大?

錢良釵2年前21瀏覽0評論

市面上常用的二維碼就幾種編碼規則,但二維碼有上百種編碼規則,不同的規則尺寸有不同的存儲量,正好本人的畢業設計就是做的二維碼,下面分享一下里面的核心部分,也讓大家了解一下二維碼的原理,鄭重聲明:此全部為本人智慧結晶,版權所有,切勿盜版剽竊,有興趣了關注交流。

基于STM32的二維碼識別系統設計與制作

摘要

以二維碼為研究對象,結合圖像掃描識別技術,設計并實現了一種自定義編碼規則的二維碼PC端生成及手持式識別設備。系統利用MicrosoftVisualStudio2017編程產生二維碼,通過手持式設備的OV7725攝像頭獲取二維碼圖像,經過圖像處理、識別和解碼后得到二維碼包含的信息,并通過觸摸屏顯示。系統綜合運用圖像灰度化、二值化、閥值分割等圖像預處理方法,用STM32F103ZET6單片機完成了信息的編碼、圖像生成、圖像的采集、識別和解碼的功能。

關鍵字:二維碼;OV7725攝像頭:STM32F103ZET6

ABSTRACT

Theobjectofthispaperisthetwo-dimensionalcodewhichcombinedtheimagescanningandrecognitiontechnology,andPCsofewareoftwo-dimensionalcodethatfollowsuser-definedcodingruleandhand-heldrecognitiondevicecanbegenerated.ThesystemusesMicrosoftVisualStudio2017programmetogeneratetwo-dimensionalcodeandobtaintwo-dimensionalcodeimagebyOV7725cameraofthehand-helddevice,afterfinishingaseriesofimageprocessing,recognitionanddecoding,informationfromtwo-dimensionalcodewillbedisplayedbytouchingcreen.Thesystemcompletesthefunctionofcoding,imagegeneration,imageacquisition,recognitionanddecodingofinformation,withimageprocessingmethodsofcomprehensiveapplicationofgraying,binarizationandthresholdsegmentationtorealizethepurposeofthetwo-dimensionalcoderecognitionsystembySTM32F103ZET6singlechip.

Keywords:Two-dimensionalcode;OV7725camera;STM32F103ZET6

2設計要求及方案選擇

2.1設計要求

設計并制作一個基于STM32單片機的手持式二維碼識別系統,要求該系統能識別二維碼信息,并能顯示在液晶觸摸屏上。

(1)制定一種自定義的信息編解碼規則,充分保證信息的編碼的可行性,并在二維碼的外在特征上符合一般二維碼要求。

(2)編寫對應的應用程序,實現輸入信息,能進行信息編碼,并能生成二維碼的功能。

(3)手持式設備可以通過攝像頭掃描二維碼,并解碼二維碼信息通過液晶觸摸屏顯示信息。

2.2系統的工作原理

二維碼生成識別系統是編解碼規則、數字圖像處理技術、嵌入式應用技術為基礎的一種二維碼系統,由二維碼生成軟件和手持式設備組成。它用一種自定義的不同于當前市場流行的編碼規則,根據二維碼的基本要求和原理,通過C++語言在MicrosoftVisualStudio2017中編寫能一鍵生成二維碼的.exe應用軟件,將信息生成二維碼,然后利用OV7725攝像頭獲取生產的二維碼圖像,在IAREmbeddedWorkbench環境編程對圖像的采集、識別、解碼的研究,綜合運用圖像灰度化、二值化、閥值分割等圖像預處理方法,以STM32F103ZET6單片機進行實時處理,經過圖像處理識別解碼后得到二維碼包含的信息,控制觸摸屏顯示解碼信息,并通過液晶屏顯示出來。最終實現信息二維碼的生成識別的功能。

系統的工作原理步驟圖如圖2.1所示。

3.1硬件總體設計方案

本系統的硬件部分是在二維碼的識別環節,即手持式設備,手持式設備是基于STM32F103ZET6單片機控制攝像頭和觸摸屏,完成信息采集、信息解碼識別和信息顯示的功能,實現二維碼的信息識別。硬件系統總體框圖如圖3.1所示。

4軟件部分的設計與實現

4.1二維碼生成部分

二維碼的生成是該系統的第一個重要部分,主要有二維碼界面的排版設計、信息的編碼。合理的將信息裝變成能讓計算機識別的二進制碼,最后能完美的將編碼信息按制定的規則排列為一張二維碼。

4.1.1二維碼界面的排版設計

1二維碼界面分區

二維碼的基本特征是顯示一段編碼信息的由黑白像素塊組成的正方形(也可為其他多邊形,目前大多基本都是正方形),其有三個角處為定位區,中間有一個或多個輔助定位區。本系統根據二維碼的上述基本特征,設計如圖4.1所示的二維碼布局圖。

其中包括三個邊角定位區、一個輔助定位區外,將其他區域分為字節信息編碼存儲區、字節數正存儲與加密區、字節數負存儲與加密區和隨機代碼生成區四個部分。如下圖4.2所示。

界面分區詳細量化

(1)像素點大小:定義二維碼的一個黑白像素點的大小尺寸為10px*10px的正方形

(2)三角處定位區:70px*70px的正方形區域,即7個黑白像素點的寬度,其中外圍一像素寬度的一圈黑像素帶,緊接內層一像素寬度的一圈白像素帶,最內層為三像素寬度的正方形且均是黑色像素組成,如下圖4.3所示。

圖4.3三角定位區量化圖

圖4.4輔助定位區量化圖

3)輔助定位區:如上圖4.1.1.4所示,50px*50px的正方形區域,即5個黑白像素點的寬度,其中外圍一像素寬度的一圈黑像素帶,緊接內層一像素寬度的一圈白像素帶,最內層為一個黑像素點的正方形。在位置排布上,左下角和右上角的定位區的最外層的黑像素變的水平坐標與豎直坐標的延長線的交織區域,為輔助定位區的最中間的黑像素塊。(4)字節數正存儲區1、字節數正存儲區2:如上圖4.2所示,均為160px*70px的矩形字節存儲區,因為定義的一個黑白像素塊為10px*10px的正方形,則這兩處的存儲區可顯示的黑白像素塊數為:(160px/10px)*(70px/10px)=112塊則可顯示的字節數為:(160px/10px)*(70px/10px)/8=112/8=14字節即二維碼存儲信息的字節數和編碼區域的可操作的有效字節為14個。(5)字節信息編碼存儲區:如上圖4.2所示,其有效區域為圖示的黃色矩形區減去紅色的小矩形區的面積大小,即240px*160px的矩形面積減去90px*10px的矩形面積,因為定義的一個黑白像素塊為10px*10px的正方形,則這兩處的存儲區可顯示的黑白像素塊數為:(240px/10px)*(160px/10px)-(90px/10px)*(10px/10px)=375塊則可存儲的字節數為:((240px/10px)*(160px/10px)-(90px/10px)*(10px/10px))/8=375/8=46字節即二維碼能存儲信息的容量為46個字節。

下面是編碼規則原理圖


全部是自己設計作圖
下面附一些實物設備圖