TW201941110A - 二維碼識讀方法、裝置及設備 - Google Patents
二維碼識讀方法、裝置及設備 Download PDFInfo
- Publication number
- TW201941110A TW201941110A TW108100662A TW108100662A TW201941110A TW 201941110 A TW201941110 A TW 201941110A TW 108100662 A TW108100662 A TW 108100662A TW 108100662 A TW108100662 A TW 108100662A TW 201941110 A TW201941110 A TW 201941110A
- Authority
- TW
- Taiwan
- Prior art keywords
- camera
- code
- frame image
- dimensional code
- focus
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10792—Special measures in relation to the object to be scanned
- G06K7/10801—Multidistance reading
- G06K7/10811—Focalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Electromagnetism (AREA)
- Artificial Intelligence (AREA)
- Toxicology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Telephone Function (AREA)
- Studio Devices (AREA)
Abstract
本說明書實施例公開了一種二維碼識讀方法、裝置以及設備。所述方法包括:利用攝影機掃碼得到框影像,基於該框影像識別其中是否包含二維碼,若包含二維碼,確定該二維碼的二維碼位置,並嘗試讀取二維碼;若讀取失敗,則基於二維碼位置調整攝影機的對焦位置,對焦到二維碼所在區域,以便能夠獲取清晰的包含二維碼的影像,成功讀取二維碼中的資訊。
Description
本說明書關於計算機技術領域,尤其關於一種二維碼識讀方法、裝置以及設備。
隨著掃碼識讀技術的推廣,在越來越多的場景中得到應用,例如,利用手機攜帶的相機識讀二維碼,以便進行賬單支付、訂餐、獲取聯繫方式等等操作。
現有技術中,利用手機等具有相機功能的設備識讀二維碼時,通常可以實現自動對焦,使得待識讀的影像更加清晰,以便能夠成功讀取二維碼。一般來說,自動對焦採用中心對焦的方式。如果二維碼不在相機獲取的影像的中心位置,或者二維碼所在平面與相機鏡頭所在平面呈一定角度時,採用中心對焦可能會導致二維碼讀取失敗,需要用戶調整相機的位置、角度或者距離,以便能夠獲取清晰的二維碼影像,並能夠成功讀取。
基於現有技術,需要能夠快速、準確讀取二維碼的方案。
現有技術中,利用手機等具有相機功能的設備識讀二維碼時,通常可以實現自動對焦,使得待識讀的影像更加清晰,以便能夠成功讀取二維碼。一般來說,自動對焦採用中心對焦的方式。如果二維碼不在相機獲取的影像的中心位置,或者二維碼所在平面與相機鏡頭所在平面呈一定角度時,採用中心對焦可能會導致二維碼讀取失敗,需要用戶調整相機的位置、角度或者距離,以便能夠獲取清晰的二維碼影像,並能夠成功讀取。
基於現有技術,需要能夠快速、準確讀取二維碼的方案。
本說明書實施例提供一種二維碼識讀方法、裝置以及設備,用於解決以下技術問題:需要能夠快速、準確讀取二維碼的方案。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種二維碼識讀方法,包括:
利用攝影機掃碼得到框影像;
若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
本說明書實施例提供的一種二維碼識讀裝置,包括:
獲取模組,利用攝影機掃碼得到框影像;
位置確定模組,若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
識讀模組,嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
本說明書實施例提供的一種電子設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通訊連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
利用攝影機掃碼得到框影像;
若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:
通過攝影機掃碼得到框影像,判斷框影像中是否包含有二維碼,若包含有二維碼則確定二維碼的位置;進一步地,根據框影像和二維碼位置識讀二維碼,若無法成功識讀,則根據二維碼位置繼續調整攝影機的對焦位置,以便攝影機能夠對焦至二維碼所在區域。基於本方案,能夠準確、快速掃碼得到可識讀的二維碼,可以有效提高二維碼的識讀效率。
為解決上述技術問題,本說明書實施例是這樣實現的:
本說明書實施例提供的一種二維碼識讀方法,包括:
利用攝影機掃碼得到框影像;
若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
本說明書實施例提供的一種二維碼識讀裝置,包括:
獲取模組,利用攝影機掃碼得到框影像;
位置確定模組,若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
識讀模組,嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
本說明書實施例提供的一種電子設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通訊連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
利用攝影機掃碼得到框影像;
若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:
通過攝影機掃碼得到框影像,判斷框影像中是否包含有二維碼,若包含有二維碼則確定二維碼的位置;進一步地,根據框影像和二維碼位置識讀二維碼,若無法成功識讀,則根據二維碼位置繼續調整攝影機的對焦位置,以便攝影機能夠對焦至二維碼所在區域。基於本方案,能夠準確、快速掃碼得到可識讀的二維碼,可以有效提高二維碼的識讀效率。
為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本說明書實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。
圖1為本說明書的方案在一種實際應用場景下關於的二維碼識讀系統的示意圖。利用攝影機(例如,相機的攝影機、手機的攝影機等)獲取框影像;進一步地,識別該框影像中是否包含待識讀的二維碼;若該框影像中未包含二維碼,則可以提示用戶調整攝影機與待識讀二維碼的位置關係(包括:角度、距離等)。若該框影像中包含二維碼,則基於二維碼的位置探測圖確定二維碼的位置,並基於二維碼位置和框影像對該二維碼進行識讀,若讀取未成功,進一步地,基於前一框影像中二維碼的位置調整攝影機的對焦位置,直到讀取成功。基於待識讀二維碼位置,進行攝影機的對焦位置的調整,能夠有效提高二維碼識讀的成功率和效率。
這裡所說的攝影機可以理解為能夠獲取影像資訊的採集設備,包括手機攝影機、相機攝影機或者專用的讀碼設備等。一般來說,通過攝影機識讀二維碼內容時,可能需要聯網後臺二維碼識讀伺服器,用來輔助識讀出二維碼中的內容。基於上述方法,除了可以用來提高二維碼的識讀成功率,也可以基於此對其他平面影像(例如,條形碼等)或者立體物體(例如,立體二維碼)進行識讀。
基於上述場景,下面對本說明書的方案進行詳細說明。
圖2為本說明書實施例提供的一種二維碼識讀方法的流程示意圖,該方法具體可以包括以下步驟:
步驟S202:利用攝影機掃碼得到框影像。
用於獲取框影像的攝影機,比如,可以是手機或專用設備等具有二維碼識讀功能的設備。
一般情況下,通過攝影機(例如,手機的攝影機)識別二維碼時,會在手機的顯示屏幕中設定一個二維碼識別框,以便引導用戶調整攝影機的位置使得該設備能夠成功對焦並讀取二維碼,因為只有在二維碼識別框中的二維碼才可能被攝影機識別。在實際應用中,基於二維碼識別框獲取的框影像的大小與二維碼識別框相匹配。這裡所說的二維碼識別框是攝影機有效的取景和識別範圍。
框影像中包含二維碼,也可能出現因框影像的獲取設備拍攝位置不當,導致獲取的框影像中不包含或者包含部分二維碼,從而導致對二維碼的識讀失敗。
步驟S204:若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置。
框影像是通過攝影機獲取的一框影像,在實際識別過程中,該攝影機可以通過持續調整相距以便獲得清晰的框影像,因此,該框影像是在連續多框影像中的一框。
二維碼位置是基於框影像確定的,並且該框影像是利用攝影機採集到的,根據攝影機與框影像的對應關係,可以使得攝影機(例如,手機的攝影機)基於二維碼位置準確地調整其對焦點位置。
步驟S206:嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
在實際應用中,確定框影像中的二維碼位置之後,首先嘗試識讀該二維碼,若成功識讀,則不需要攝影機再調整對焦位置。若無法成功識讀,需要將當前的二維碼位置資訊轉換為對焦參數,以便攝影機可以根據對焦參數準確地調整對焦位置。
識讀所述二維碼時,一般是由攝影機或者影像採集設備採集包含二維碼的影像,將該二維碼影像資訊發送給伺服器,由伺服器識讀出二維碼中的內容。
通過上述實施例可知,通過攝影機掃碼得到框影像,判斷框影像中是否包含有二維碼,若有二維碼則確定二維碼的位置;進一步地,根據框影像和二維碼位置識讀二維碼,若無法成功識讀,則需要根據二維碼位置繼續調整攝影機的對焦位置,能夠準確、快速掃碼得到可識讀的二維碼,可以有效提高二維碼的識讀效率。
在本說明書一個或者多個實施例中,所述確定所述框影像中的二維碼位置,具體可以包括:檢測所述二維碼中的位置探測圖;基於檢測到的三個所述位置探測圖,確定二維碼在所述框影像中的位置。
在基於框影像識別二維碼時,可以採用基於二維碼中的位置探測圖識別或者預設影像識別算法(例如,機器學習模型算法)識別。其中,這裡所說的二維碼的位置探測圖是二維碼中的三個用於定位的圖形。此外,用戶也可以根據實際需求,選擇二維碼的其他特徵用於對二維碼的識別。
這裡所說的識別結果,包括識別到或未識別到框影像中的二維碼兩種結果。其中,未識別到框影像中二維碼的原因包括:框影像中未包含二維碼,或者包含部分二維碼,或者二維碼影像比較模糊導致無法識別等。
若該框影像中包含二維碼,則進一步確定該二維碼的位置,例如,可以設定框影像的左上角為坐標原點,進一步確定二維碼在框影像中的位置。
二維碼位置可以包括:二維碼的位置坐標和二維碼尺寸等。需要說明的是,這裡的二維碼的位置坐標以及二維碼尺寸均是基於框影像確定的。例如,假設基於框影像左上角頂點為坐標原點,設定橫縱坐標,將二維碼的中心點作為二維碼坐標,並基於橫縱坐標確定二維碼的二維碼尺寸,以便攝影機可以更加準確的對二維碼進行對焦並快速識讀。
進一步地,在確定二維碼的位置之後,基於二維碼識別框調整對焦參數;如前文所述可知,框影像與二維碼識別框的尺寸是相匹配的,因此,基於框影像確定二維碼的位置之後,可以將該位置資訊發送給攝影機調整二維碼識別框的對焦參數。
在本說明書一個或者多個實施例中,所述調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域,具體可以包括:根據框影像坐標系與攝影機坐標系的對應關係,轉換所述二維碼位置得到對焦參數,其中,所述對焦參數包括對焦區域大小、對焦點中至少一個;根據所述對焦參數調整攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
需要說明的是,攝影機調整對焦參數,可以包括對焦點或者對焦區域大小等對焦參數;當然,有的設備也可以自動調整影像採集的角度、或設備與待識讀二維碼的物距等參數。
由前述實施例可知,二維碼位置是基於框影像確定的,因此,若要確定對焦參數,需要基於框影像坐標系將二維碼位置轉換為對應的對焦參數。在實際應用中,由於影像採集頻率大約30ms,並且在識讀過程中,用戶可以手持攝影機在數秒內保持位置不變,因此,可以基於框影像確定二維碼位置,並作為對焦參數調整的依據。
攝影機調整對焦位置可以是調整該攝影機進行影像採集時的相距,對於更好的攝影機也可以是調整影像採集的角度等,例如,手機中的相機鏡頭既可以調整相距,又可以調整角度。
為了能夠獲得清晰的二維碼的影像,需要根據二維碼尺寸調整對焦範圍。對焦範圍的調整,可以是基於多點對焦實現的,可以確保該範圍內影像的清晰度最佳。
在完成對焦點和對焦範圍的調整之後,繼續採集下一框影像,識讀其中包含的二維碼的內容資訊。
在本說明書一個或者多個實施例中,如圖3為本說明書實時提供的對應關係確定方法的流程示意圖,所述框影像坐標系與攝影機坐標系的對應關係按照如下方式得到:步驟S302:根據框影像分辨率,建立框影像坐標系;步驟S304:根據攝影機分辨率,建立攝影機坐標系;步驟S306:根據框影像分辨率和攝影機分辨率的比例關係,確定所述框影像坐標系與所述攝影機坐標系的對應關係。
需要說明的是,這裡所說的框影像坐標系可以理解為基於框影像的分辨率建立的坐標系;攝影機坐標系可以理解為基於攝影機有效取景框(例如,二維碼識別框)的分辨率建立的坐標系。
在實際應用中,框影像和攝影機分別具有對應的分辨率,為了能夠建立框影像中各像素點與攝影機採集影像時像素點的對應關係,需要針對框影像和攝影機分別建立對應的坐標系。
在基於坐標系之間對應關係(例如,框影像坐標系與攝影機坐標系之間的比例關係是:橫坐標為100:1,縱坐標為200:1),可以將框影像坐標系中二維碼位置轉換為對焦參數,以便可以使得攝影機準確的調整對焦位置,以使所述攝影機對焦至所述二維碼所在區域,獲取清晰的二維碼。
需要說明的是,這裡所說的步驟序號並不是對步驟執行順序的限制,例如,步驟S302和步驟S304可以同時執行。
在本說明書一個或者多個實施例中,所述攝影機對焦至所述二維碼所在區域,具體可以包括:所述攝影機對焦至基於所述二維碼中的位置探測圖確定的二維碼邊界包圍的區域中的至少一個坐標點。
這裡所說的二維碼所在區域,一般是基於二維碼中的位置探測圖確定的矩形區域,該區域中包含二維碼的所有影像。在攝影機對焦過程中,可以針對至少一個點進行對焦,一般是對二維碼的中心點進行對焦,或者對二維碼的中心點以及矩形的四個頂點進行對焦;也可以採用區域對焦,比如,將整個二維碼作為對焦區域。
在本說明書一個或者多個實施例中,所述方法還包括:若確定所述框影像中不包含二維碼,則發出提示資訊,提示用戶手動調整所述二維碼識別框與二維碼的位置關係。
在實際應用中,識別失敗的原因可能有多種,例如,二維碼不夠清晰或者二維碼沒有在框影像中,或者二維碼部分在框影像中。提示資訊可以通過彈窗的形式顯示,或者通過聲音進行提示,以便用戶可以調整攝影機的位置。這裡所需要調整的位置包括:攝影機與二維碼之間的距離、角度等,以便使得二維碼可以進入攝影機的影像採集範圍中,並且可以獲得清晰的影像。
為了便於理解上述二維碼識讀方法,下面結合圖4進行舉例說明,圖4為本說明書實施例提供的舉例說明利用手機識讀二維碼的流程圖。
針對利用手機(具有相機功能的手機)獲取到的框影像,利用碼位置模組,預先判斷框影像是否存在二維碼,如果存在則給出二維碼的位置,然後再將二維碼的位置資訊和原始的框影像一同交給碼讀取模組進行二維碼的資訊讀取,當讀取模組無法讀取該二維碼的內容時,則將二維碼位置資訊發送給位置轉換模組,將二維碼位置資訊轉換為手機所攜帶相機的對焦位置(包括對焦點和對焦範圍),手機根據這些資訊自動改變相機的對焦參數,從而使得相機能夠準確對焦二維碼位置區域,從而使得相機對焦後二維碼位置比其他區域更加清晰,更利於讀取模組的讀取操作。
基於同樣的思路,本說明書實施例提供了一種二維碼識讀裝置,如圖5為本說明書實施例提供的一種二維碼識讀裝置,該裝置主要包括:
獲取模組501,利用攝影機掃碼得到框影像;
位置確定模組502,若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
識讀模組503,嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
進一步地,所述位置確定模組502,檢測所述二維碼中的位置探測圖;
基於檢測到的三個所述位置探測圖,所述框影像中的二維碼位置。
進一步地,所述識讀模組503,根據框影像坐標系與攝影機坐標系的對應關係,轉換所述二維碼位置得到對焦參數,其中,所述對焦參數包括對焦區域大小、對焦點中至少一個;
根據所述對焦參數調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
進一步地,還包括:對應關係確定模組504,根據框影像分辨率,建立框影像坐標系;
根據攝影機分辨率,建立攝影機坐標系;
根據框影像分辨率和攝影機分辨率的比例關係,確定所述框影像坐標系與所述攝影機坐標系的對應關係。
進一步地,所述位置確定模組502,所述位置確定模組,所述攝影機對焦至所述二維碼所在區域,具體包括:
所述攝影機對焦至基於所述二維碼中的位置探測圖確定的二維碼邊界包圍的區域中的至少一個坐標點。
進一步地,若確定所述框影像中不包含二維碼,則發出提示資訊,提示用戶手動調整所述攝影機與所述二維碼的位置關係。
基於同樣的思路,本說明書實施例還提供一種電子設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通訊連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
利用攝影機掃碼得到框影像;
若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、電子設備、非揮發性計算機儲存媒體實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書實施例提供的裝置、電子設備、非揮發性計算機儲存媒體與方法是對應的,因此,裝置、電子設備、非揮發性計算機儲存媒體也具有與對應方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述對應裝置、電子設備、非揮發性計算機儲存媒體的有益技術效果。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體管、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程程式化到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式化閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對器件程式化來確定。由設計人員自行程式化來把一個數位系統“積體”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式化也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式化語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式化並程式化到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的計算機可讀程式代碼(例如軟體或韌體)的計算機可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純計算機可讀程式代碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式化來使得控制器以邏輯閘、開關、專用積體電路、可程式化邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書一個或多個實施例時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書實施例可提供為方法、系統、或計算機程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。
本說明書是參照根據本說明書實施例的方法、設備(系統)、和計算機程式產品的流程圖和/或方塊圖來描述的。應理解可由計算機程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些計算機程式指令到通用計算機、專用計算機、嵌入式處理機或其他可程式化資料處理設備的處理器以產生一個機器,使得通過計算機或其他可程式化資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些計算機程式指令也可儲存在能引導計算機或其他可程式化資料處理設備以特定方式工作的計算機可讀記憶體中,使得儲存在該計算機可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些計算機程式指令也可裝載到計算機或其他可程式化資料處理設備上,使得在計算機或其他可程式化設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可程式化設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和內部記憶體。
內部記憶體可能包括計算機可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性內部記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。內部記憶體是計算機可讀媒體的示例。
計算機可讀媒體包括永久性和非永久性、可行動和非可行動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是計算機可讀指令、資料結構、程式的模組或其他資料。計算機的儲存媒體的例子包括,但不限於相變內部記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,計算機可讀媒體不包括暫態電腦可讀媒體(transitory media),如調變的資料訊號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本說明書可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等等。也可以在分布式計算環境中實踐說明書,在這些分布式計算環境中,由通過通訊網路而被連接的遠程處理設備來執行任務。在分布式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠程計算機儲存媒體中。
本說明書中的各個實施例均採用遞增的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
圖1為本說明書的方案在一種實際應用場景下關於的二維碼識讀系統的示意圖。利用攝影機(例如,相機的攝影機、手機的攝影機等)獲取框影像;進一步地,識別該框影像中是否包含待識讀的二維碼;若該框影像中未包含二維碼,則可以提示用戶調整攝影機與待識讀二維碼的位置關係(包括:角度、距離等)。若該框影像中包含二維碼,則基於二維碼的位置探測圖確定二維碼的位置,並基於二維碼位置和框影像對該二維碼進行識讀,若讀取未成功,進一步地,基於前一框影像中二維碼的位置調整攝影機的對焦位置,直到讀取成功。基於待識讀二維碼位置,進行攝影機的對焦位置的調整,能夠有效提高二維碼識讀的成功率和效率。
這裡所說的攝影機可以理解為能夠獲取影像資訊的採集設備,包括手機攝影機、相機攝影機或者專用的讀碼設備等。一般來說,通過攝影機識讀二維碼內容時,可能需要聯網後臺二維碼識讀伺服器,用來輔助識讀出二維碼中的內容。基於上述方法,除了可以用來提高二維碼的識讀成功率,也可以基於此對其他平面影像(例如,條形碼等)或者立體物體(例如,立體二維碼)進行識讀。
基於上述場景,下面對本說明書的方案進行詳細說明。
圖2為本說明書實施例提供的一種二維碼識讀方法的流程示意圖,該方法具體可以包括以下步驟:
步驟S202:利用攝影機掃碼得到框影像。
用於獲取框影像的攝影機,比如,可以是手機或專用設備等具有二維碼識讀功能的設備。
一般情況下,通過攝影機(例如,手機的攝影機)識別二維碼時,會在手機的顯示屏幕中設定一個二維碼識別框,以便引導用戶調整攝影機的位置使得該設備能夠成功對焦並讀取二維碼,因為只有在二維碼識別框中的二維碼才可能被攝影機識別。在實際應用中,基於二維碼識別框獲取的框影像的大小與二維碼識別框相匹配。這裡所說的二維碼識別框是攝影機有效的取景和識別範圍。
框影像中包含二維碼,也可能出現因框影像的獲取設備拍攝位置不當,導致獲取的框影像中不包含或者包含部分二維碼,從而導致對二維碼的識讀失敗。
步驟S204:若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置。
框影像是通過攝影機獲取的一框影像,在實際識別過程中,該攝影機可以通過持續調整相距以便獲得清晰的框影像,因此,該框影像是在連續多框影像中的一框。
二維碼位置是基於框影像確定的,並且該框影像是利用攝影機採集到的,根據攝影機與框影像的對應關係,可以使得攝影機(例如,手機的攝影機)基於二維碼位置準確地調整其對焦點位置。
步驟S206:嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
在實際應用中,確定框影像中的二維碼位置之後,首先嘗試識讀該二維碼,若成功識讀,則不需要攝影機再調整對焦位置。若無法成功識讀,需要將當前的二維碼位置資訊轉換為對焦參數,以便攝影機可以根據對焦參數準確地調整對焦位置。
識讀所述二維碼時,一般是由攝影機或者影像採集設備採集包含二維碼的影像,將該二維碼影像資訊發送給伺服器,由伺服器識讀出二維碼中的內容。
通過上述實施例可知,通過攝影機掃碼得到框影像,判斷框影像中是否包含有二維碼,若有二維碼則確定二維碼的位置;進一步地,根據框影像和二維碼位置識讀二維碼,若無法成功識讀,則需要根據二維碼位置繼續調整攝影機的對焦位置,能夠準確、快速掃碼得到可識讀的二維碼,可以有效提高二維碼的識讀效率。
在本說明書一個或者多個實施例中,所述確定所述框影像中的二維碼位置,具體可以包括:檢測所述二維碼中的位置探測圖;基於檢測到的三個所述位置探測圖,確定二維碼在所述框影像中的位置。
在基於框影像識別二維碼時,可以採用基於二維碼中的位置探測圖識別或者預設影像識別算法(例如,機器學習模型算法)識別。其中,這裡所說的二維碼的位置探測圖是二維碼中的三個用於定位的圖形。此外,用戶也可以根據實際需求,選擇二維碼的其他特徵用於對二維碼的識別。
這裡所說的識別結果,包括識別到或未識別到框影像中的二維碼兩種結果。其中,未識別到框影像中二維碼的原因包括:框影像中未包含二維碼,或者包含部分二維碼,或者二維碼影像比較模糊導致無法識別等。
若該框影像中包含二維碼,則進一步確定該二維碼的位置,例如,可以設定框影像的左上角為坐標原點,進一步確定二維碼在框影像中的位置。
二維碼位置可以包括:二維碼的位置坐標和二維碼尺寸等。需要說明的是,這裡的二維碼的位置坐標以及二維碼尺寸均是基於框影像確定的。例如,假設基於框影像左上角頂點為坐標原點,設定橫縱坐標,將二維碼的中心點作為二維碼坐標,並基於橫縱坐標確定二維碼的二維碼尺寸,以便攝影機可以更加準確的對二維碼進行對焦並快速識讀。
進一步地,在確定二維碼的位置之後,基於二維碼識別框調整對焦參數;如前文所述可知,框影像與二維碼識別框的尺寸是相匹配的,因此,基於框影像確定二維碼的位置之後,可以將該位置資訊發送給攝影機調整二維碼識別框的對焦參數。
在本說明書一個或者多個實施例中,所述調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域,具體可以包括:根據框影像坐標系與攝影機坐標系的對應關係,轉換所述二維碼位置得到對焦參數,其中,所述對焦參數包括對焦區域大小、對焦點中至少一個;根據所述對焦參數調整攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
需要說明的是,攝影機調整對焦參數,可以包括對焦點或者對焦區域大小等對焦參數;當然,有的設備也可以自動調整影像採集的角度、或設備與待識讀二維碼的物距等參數。
由前述實施例可知,二維碼位置是基於框影像確定的,因此,若要確定對焦參數,需要基於框影像坐標系將二維碼位置轉換為對應的對焦參數。在實際應用中,由於影像採集頻率大約30ms,並且在識讀過程中,用戶可以手持攝影機在數秒內保持位置不變,因此,可以基於框影像確定二維碼位置,並作為對焦參數調整的依據。
攝影機調整對焦位置可以是調整該攝影機進行影像採集時的相距,對於更好的攝影機也可以是調整影像採集的角度等,例如,手機中的相機鏡頭既可以調整相距,又可以調整角度。
為了能夠獲得清晰的二維碼的影像,需要根據二維碼尺寸調整對焦範圍。對焦範圍的調整,可以是基於多點對焦實現的,可以確保該範圍內影像的清晰度最佳。
在完成對焦點和對焦範圍的調整之後,繼續採集下一框影像,識讀其中包含的二維碼的內容資訊。
在本說明書一個或者多個實施例中,如圖3為本說明書實時提供的對應關係確定方法的流程示意圖,所述框影像坐標系與攝影機坐標系的對應關係按照如下方式得到:步驟S302:根據框影像分辨率,建立框影像坐標系;步驟S304:根據攝影機分辨率,建立攝影機坐標系;步驟S306:根據框影像分辨率和攝影機分辨率的比例關係,確定所述框影像坐標系與所述攝影機坐標系的對應關係。
需要說明的是,這裡所說的框影像坐標系可以理解為基於框影像的分辨率建立的坐標系;攝影機坐標系可以理解為基於攝影機有效取景框(例如,二維碼識別框)的分辨率建立的坐標系。
在實際應用中,框影像和攝影機分別具有對應的分辨率,為了能夠建立框影像中各像素點與攝影機採集影像時像素點的對應關係,需要針對框影像和攝影機分別建立對應的坐標系。
在基於坐標系之間對應關係(例如,框影像坐標系與攝影機坐標系之間的比例關係是:橫坐標為100:1,縱坐標為200:1),可以將框影像坐標系中二維碼位置轉換為對焦參數,以便可以使得攝影機準確的調整對焦位置,以使所述攝影機對焦至所述二維碼所在區域,獲取清晰的二維碼。
需要說明的是,這裡所說的步驟序號並不是對步驟執行順序的限制,例如,步驟S302和步驟S304可以同時執行。
在本說明書一個或者多個實施例中,所述攝影機對焦至所述二維碼所在區域,具體可以包括:所述攝影機對焦至基於所述二維碼中的位置探測圖確定的二維碼邊界包圍的區域中的至少一個坐標點。
這裡所說的二維碼所在區域,一般是基於二維碼中的位置探測圖確定的矩形區域,該區域中包含二維碼的所有影像。在攝影機對焦過程中,可以針對至少一個點進行對焦,一般是對二維碼的中心點進行對焦,或者對二維碼的中心點以及矩形的四個頂點進行對焦;也可以採用區域對焦,比如,將整個二維碼作為對焦區域。
在本說明書一個或者多個實施例中,所述方法還包括:若確定所述框影像中不包含二維碼,則發出提示資訊,提示用戶手動調整所述二維碼識別框與二維碼的位置關係。
在實際應用中,識別失敗的原因可能有多種,例如,二維碼不夠清晰或者二維碼沒有在框影像中,或者二維碼部分在框影像中。提示資訊可以通過彈窗的形式顯示,或者通過聲音進行提示,以便用戶可以調整攝影機的位置。這裡所需要調整的位置包括:攝影機與二維碼之間的距離、角度等,以便使得二維碼可以進入攝影機的影像採集範圍中,並且可以獲得清晰的影像。
為了便於理解上述二維碼識讀方法,下面結合圖4進行舉例說明,圖4為本說明書實施例提供的舉例說明利用手機識讀二維碼的流程圖。
針對利用手機(具有相機功能的手機)獲取到的框影像,利用碼位置模組,預先判斷框影像是否存在二維碼,如果存在則給出二維碼的位置,然後再將二維碼的位置資訊和原始的框影像一同交給碼讀取模組進行二維碼的資訊讀取,當讀取模組無法讀取該二維碼的內容時,則將二維碼位置資訊發送給位置轉換模組,將二維碼位置資訊轉換為手機所攜帶相機的對焦位置(包括對焦點和對焦範圍),手機根據這些資訊自動改變相機的對焦參數,從而使得相機能夠準確對焦二維碼位置區域,從而使得相機對焦後二維碼位置比其他區域更加清晰,更利於讀取模組的讀取操作。
基於同樣的思路,本說明書實施例提供了一種二維碼識讀裝置,如圖5為本說明書實施例提供的一種二維碼識讀裝置,該裝置主要包括:
獲取模組501,利用攝影機掃碼得到框影像;
位置確定模組502,若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
識讀模組503,嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
進一步地,所述位置確定模組502,檢測所述二維碼中的位置探測圖;
基於檢測到的三個所述位置探測圖,所述框影像中的二維碼位置。
進一步地,所述識讀模組503,根據框影像坐標系與攝影機坐標系的對應關係,轉換所述二維碼位置得到對焦參數,其中,所述對焦參數包括對焦區域大小、對焦點中至少一個;
根據所述對焦參數調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
進一步地,還包括:對應關係確定模組504,根據框影像分辨率,建立框影像坐標系;
根據攝影機分辨率,建立攝影機坐標系;
根據框影像分辨率和攝影機分辨率的比例關係,確定所述框影像坐標系與所述攝影機坐標系的對應關係。
進一步地,所述位置確定模組502,所述位置確定模組,所述攝影機對焦至所述二維碼所在區域,具體包括:
所述攝影機對焦至基於所述二維碼中的位置探測圖確定的二維碼邊界包圍的區域中的至少一個坐標點。
進一步地,若確定所述框影像中不包含二維碼,則發出提示資訊,提示用戶手動調整所述攝影機與所述二維碼的位置關係。
基於同樣的思路,本說明書實施例還提供一種電子設備,包括:
至少一個處理器;以及,
與所述至少一個處理器通訊連接的記憶體;其中,
所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠:
利用攝影機掃碼得到框影像;
若確定所述框影像中包含二維碼,則確定所述框影像中的二維碼位置;
嘗試識讀所述二維碼,若無法成功識讀則根據所述二維碼位置,調整所述攝影機的對焦位置,以使所述攝影機對焦至所述二維碼所在區域。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、電子設備、非揮發性計算機儲存媒體實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書實施例提供的裝置、電子設備、非揮發性計算機儲存媒體與方法是對應的,因此,裝置、電子設備、非揮發性計算機儲存媒體也具有與對應方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述對應裝置、電子設備、非揮發性計算機儲存媒體的有益技術效果。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體管、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都通過將改進的方法流程程式化到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯裝置(Programmable Logic Device, PLD)(例如現場可程式化閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對器件程式化來確定。由設計人員自行程式化來把一個數位系統“積體”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式化也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的程式化語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式化並程式化到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的計算機可讀程式代碼(例如軟體或韌體)的計算機可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純計算機可讀程式代碼方式實現控制器以外,完全可以通過將方法步驟進行邏輯程式化來使得控制器以邏輯閘、開關、專用積體電路、可程式化邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書一個或多個實施例時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書實施例可提供為方法、系統、或計算機程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。
本說明書是參照根據本說明書實施例的方法、設備(系統)、和計算機程式產品的流程圖和/或方塊圖來描述的。應理解可由計算機程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些計算機程式指令到通用計算機、專用計算機、嵌入式處理機或其他可程式化資料處理設備的處理器以產生一個機器,使得通過計算機或其他可程式化資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些計算機程式指令也可儲存在能引導計算機或其他可程式化資料處理設備以特定方式工作的計算機可讀記憶體中,使得儲存在該計算機可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些計算機程式指令也可裝載到計算機或其他可程式化資料處理設備上,使得在計算機或其他可程式化設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可程式化設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和內部記憶體。
內部記憶體可能包括計算機可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性內部記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。內部記憶體是計算機可讀媒體的示例。
計算機可讀媒體包括永久性和非永久性、可行動和非可行動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是計算機可讀指令、資料結構、程式的模組或其他資料。計算機的儲存媒體的例子包括,但不限於相變內部記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,計算機可讀媒體不包括暫態電腦可讀媒體(transitory media),如調變的資料訊號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本說明書可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等等。也可以在分布式計算環境中實踐說明書,在這些分布式計算環境中,由通過通訊網路而被連接的遠程處理設備來執行任務。在分布式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠程計算機儲存媒體中。
本說明書中的各個實施例均採用遞增的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
501‧‧‧獲取模組
502‧‧‧位置確定模組
503‧‧‧識讀模組
504‧‧‧對應關係確定模組
S202‧‧‧步驟
S204‧‧‧步驟
S206‧‧‧步驟
S302‧‧‧步驟
S304‧‧‧步驟
S306‧‧‧步驟
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本說明書的方案在實際應用場景下關於的二維碼識讀系統的示意圖;
圖2為本說明書實施例提供的一種二維碼識讀方法的流程示意圖;
圖3為本說明書實施例提供的對應關係確定方法的流程示意圖;
圖4為本說明書實施例提供的舉例說明手機識讀二維碼的流程圖;
圖5為本說明書實施例提供的一種二維碼識讀裝置的示意圖。
Claims (13)
- 一種二維碼識讀方法,包括: 利用攝影機掃碼得到框影像; 若確定該框影像中包含二維碼,則確定該框影像中的二維碼位置; 嘗試識讀該二維碼,若無法成功識讀則根據該二維碼位置,調整該攝影機的對焦位置,以使該攝影機對焦至該二維碼所在區域。
- 如申請專利範圍第1項之方法,該確定該框影像中的二維碼位置,具體包括: 檢測該二維碼中的位置探測圖; 基於檢測到的三個該位置探測圖,確定該框影像中的二維碼位置。
- 如申請專利範圍第1項之方法,該調整該攝影機的對焦位置,以使該攝影機對焦至該二維碼所在區域,具體包括: 根據框影像坐標系與攝影機坐標系的對應關係,轉換該二維碼位置得到對焦參數,其中,該對焦參數包括對焦區域大小、對焦點中至少一個; 根據該對焦參數調整該攝影機的對焦位置,以使該攝影機對焦至該二維碼所在區域。
- 如申請專利範圍第3項之方法,該框影像坐標系與攝影機坐標系的對應關係按照如下方式得到: 根據框影像分辨率,建立框影像坐標系; 根據攝影機分辨率,建立攝影機坐標系; 根據該框影像分辨率與該攝影機分辨率的比例關係,確定該框影像坐標系與該攝影機坐標系的對應關係。
- 如申請專利範圍第4項之方法,該攝影機對焦至該二維碼所在區域,具體包括: 該攝影機對焦至基於該二維碼中的位置探測圖確定的二維碼邊界包圍的區域中的至少一個坐標點。
- 如申請專利範圍第1項之方法,該方法還包括:若確定該框影像中不包含二維碼,則發出提示資訊,提示用戶手動調整該攝影機與二維碼的位置關係。
- 一種二維碼識讀裝置,包括: 獲取模組,利用攝影機掃碼得到框影像; 位置確定模組,若確定該框影像中包含二維碼,則確定該框影像中的二維碼位置; 識讀模組,嘗試識讀該二維碼,若無法成功識讀則根據該二維碼位置,調整該攝影機的對焦位置,以使該攝影機對焦至該二維碼所在區域。
- 如申請專利範圍第7項之裝置,該位置確定模組,檢測該二維碼中的位置探測圖; 基於檢測到的三個該位置探測圖,確定該框影像中的二維碼位置。
- 如申請專利範圍第7項之裝置,該識讀模組,根據框影像坐標系與攝影機坐標系的對應關係,轉換該二維碼位置得到對焦參數,其中,該對焦參數包括對焦區域大小、對焦點中至少一個; 根據該對焦參數調整該攝影機的對焦位置,以使該攝影機對焦至該二維碼所在區域。
- 如申請專利範圍第9項之裝置,還包括:對應關係確定模組,根據框影像分辨率,建立框影像坐標系; 根據攝影機分辨率,建立攝影機坐標系; 根據框影像分辨率和攝影機分辨率的比例關係,確定該框影像坐標系與該攝影機坐標系的對應關係。
- 如申請專利範圍第10項之裝置,該位置確定模組,該攝影機對焦至該二維碼所在區域,具體包括: 該攝影機對焦至基於該二維碼中的位置探測圖確定的二維碼邊界包圍的區域中的至少一個坐標點。
- 如申請專利範圍第7項之裝置,若確定該框影像中不包含二維碼,則發出提示資訊,提示用戶手動調整該攝影機與該二維碼的位置關係。
- 一種電子設備,包括: 至少一個處理器;以及, 與該至少一個處理器通訊連接的記憶體;其中, 該記憶體儲存有可被該至少一個處理器執行的指令,該指令被該至少一個處理器執行,以使該至少一個處理器能夠: 利用攝影機掃碼得到框影像; 若確定該框影像中包含二維碼,則確定該框影像中的二維碼位置; 嘗試識讀該二維碼,若無法成功識讀則根據該二維碼位置,調整該攝影機的對焦位置,以使該攝影機對焦至該二維碼所在區域。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201810247331.3 | 2018-03-23 | ||
CN201810247331.3A CN108629220A (zh) | 2018-03-23 | 2018-03-23 | 一种二维码识读方法、装置及设备 |
CN201810247331.3 | 2018-03-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201941110A true TW201941110A (zh) | 2019-10-16 |
TWI740087B TWI740087B (zh) | 2021-09-21 |
Family
ID=63696292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108100662A TWI740087B (zh) | 2018-03-23 | 2019-01-08 | 二維碼識讀方法、裝置及設備 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN108629220A (zh) |
TW (1) | TWI740087B (zh) |
WO (1) | WO2019179233A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108629220A (zh) * | 2018-03-23 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种二维码识读方法、装置及设备 |
CN115456002A (zh) * | 2019-05-31 | 2022-12-09 | 创新先进技术有限公司 | 二维码识别方法、二维码定位识别模型建立方法及其装置 |
CN110399761B (zh) * | 2019-07-26 | 2023-02-17 | 北京慧眼智行科技有限公司 | 二维码提取方法、装置、可读存储介质及终端设备 |
CN110738067B (zh) * | 2019-09-30 | 2023-05-23 | 百富计算机技术(深圳)有限公司 | 提升扫码效率的方法及装置 |
CN110933771B (zh) * | 2019-12-06 | 2024-03-01 | 江苏紫米电子技术有限公司 | 摄像机的网络连接方法、装置、存储介质及摄像机 |
CN111125798A (zh) * | 2019-12-12 | 2020-05-08 | 维沃移动通信有限公司 | 一种凭证显示方法及电子设备 |
CN114663646A (zh) * | 2020-06-02 | 2022-06-24 | 支付宝(杭州)信息技术有限公司 | 一种扫码过程中的提示方法、装置及设备 |
CN111767752B (zh) * | 2020-06-11 | 2022-09-23 | 网易宝有限公司 | 一种二维码识别方法及装置 |
CN112749769B (zh) * | 2020-08-19 | 2024-06-14 | 腾讯科技(深圳)有限公司 | 图形码检测方法、装置、计算机设备及存储介质 |
CN112308899B (zh) * | 2020-11-09 | 2024-05-07 | 北京经纬恒润科技股份有限公司 | 一种挂车角度识别方法及装置 |
CN112492200B (zh) * | 2020-11-24 | 2022-10-04 | 维沃移动通信有限公司 | 拍照方法、装置、电子设备和存储介质 |
CN112464681B (zh) * | 2020-11-26 | 2024-04-30 | 苏州摩比信通智能系统有限公司 | 一种图形码扫描方法、装置、设备和介质 |
CN112532884B (zh) * | 2020-11-27 | 2022-10-14 | 维沃移动通信有限公司 | 识别方法、装置及电子设备 |
CN112733566B (zh) * | 2021-01-14 | 2024-04-05 | 广东星云开物科技股份有限公司 | 基于位置引导的二维码识读方法和装置 |
CN112969023A (zh) * | 2021-01-29 | 2021-06-15 | 北京骑胜科技有限公司 | 图像拍摄方法、设备、存储介质以及计算机程序产品 |
CN113065374B (zh) * | 2021-04-01 | 2023-10-27 | 支付宝(杭州)信息技术有限公司 | 一种二维码识别方法、装置及设备 |
CN114266266B (zh) * | 2021-11-12 | 2023-10-20 | 上海宾通智能科技有限公司 | 一种复合型二维码识别系统 |
CN115696044B (zh) * | 2023-01-04 | 2023-08-04 | 深圳思谋信息科技有限公司 | 成像控制方法、装置、计算机设备和存储介质 |
CN115860033B (zh) * | 2023-01-31 | 2023-05-16 | 北京微点科学技术有限公司 | 可分级鉴伪的彩色分区微点码标识的防伪方法和装置 |
CN116372936B (zh) * | 2023-04-23 | 2024-08-02 | 深圳市功夫机器人有限公司 | 机器人的控制方法、机器人及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4874668B2 (ja) * | 2006-02-22 | 2012-02-15 | Hoya株式会社 | オートフォーカスユニット及びカメラ |
CN201467307U (zh) * | 2009-05-26 | 2010-05-12 | 上海银晨智能识别科技有限公司 | 二代证人像采集专用摄像装置 |
CN103279730B (zh) * | 2013-06-05 | 2016-09-28 | 北京奇虎科技有限公司 | 移动终端处理可视化图形编码的方法和装置 |
CN106897648B (zh) * | 2016-07-22 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 识别二维码位置的方法及其系统 |
CN106570436B (zh) * | 2016-11-14 | 2019-01-25 | 三峡大学 | 一种基于二维码的变电站设备抄表系统及其抄表方法 |
CN107122693A (zh) * | 2017-05-15 | 2017-09-01 | 北京小米移动软件有限公司 | 二维码识别方法及装置 |
CN107220578B (zh) * | 2017-05-31 | 2020-03-10 | 维沃移动通信有限公司 | 一种二维码扫描识别方法、装置、移动终端及存储介质 |
CN107633194A (zh) * | 2017-09-15 | 2018-01-26 | 维沃移动通信有限公司 | 一种二维码的识别方法及终端 |
CN108629220A (zh) * | 2018-03-23 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种二维码识读方法、装置及设备 |
-
2018
- 2018-03-23 CN CN201810247331.3A patent/CN108629220A/zh active Pending
-
2019
- 2019-01-08 TW TW108100662A patent/TWI740087B/zh active
- 2019-01-24 WO PCT/CN2019/072911 patent/WO2019179233A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN108629220A (zh) | 2018-10-09 |
WO2019179233A1 (zh) | 2019-09-26 |
TWI740087B (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI740087B (zh) | 二維碼識讀方法、裝置及設備 | |
TWI690853B (zh) | 一種影像識別的方法、裝置及設備 | |
US10915998B2 (en) | Image processing method and device | |
JP5746937B2 (ja) | オブジェクト追跡装置 | |
WO2019196542A1 (zh) | 一种图像处理的方法及装置 | |
CN112333356B (zh) | 一种证件图像采集方法、装置和设备 | |
CN109614983A (zh) | 训练数据的生成方法、装置及系统 | |
KR20170061631A (ko) | 영역 인식 방법 및 장치 | |
WO2019034039A1 (zh) | 一种目标图形码识别方法和装置 | |
TWI719472B (zh) | 圖像採集方法、裝置和系統、電子設備以及電腦可讀儲存媒體 | |
TWI729675B (zh) | 互動界面的顯示方法、裝置及設備 | |
CN112416206A (zh) | 一种显示窗口调节方法、设备、电子设备及存储介质 | |
CN111291661A (zh) | 一种屏幕中图标的文本内容的识别方法及设备 | |
TWI676113B (zh) | 虹膜識別過程中的預覽方法及裝置 | |
TW201939356A (zh) | 一種掃描碼影像辨識方法、裝置以及設備 | |
US11036967B2 (en) | Method and device for face selection, recognition and comparison | |
CN111242106A (zh) | 一种面部图像的采集方法、装置、设备及面部识别设备 | |
WO2021244525A1 (zh) | 扫码过程中的提示方法、装置及设备 | |
CN113469017A (zh) | 一种图像处理方法、装置及电子设备 | |
CN110223320B (zh) | 物体检测跟踪方法和检测跟踪装置 | |
US11170574B2 (en) | Method and apparatus for generating a navigation guide | |
CN112036342A (zh) | 单证抓拍方法、设备及计算机存储介质 | |
WO2019051688A1 (zh) | 检测光学模组的方法、装置和电子设备 | |
JP6062483B2 (ja) | デジタルカメラ | |
CN111325197A (zh) | 数据处理方法和装置、用于数据处理的装置 |