條碼掃描是如何運作的?

376 8
2026-06-30

#條碼#barcode條碼掃描

條碼掃描的運作原理詳解

條碼掃描的核心邏輯,是利用「條(深色)與空(淺色)對光線的反射率差異」,將視覺上的圖形編碼逐層轉換為光學訊號、電氣訊號,最終透過演算法解析為電腦可讀的文字數據。整個過程在數毫秒內完成,可拆解為5個核心步驟,搭配不同硬體架構實現。


一、底層物理基礎:條空的反射率差異

所有一維條碼的識別,都建立在「光反射強弱對比」之上:

  • 深色的「條」會吸收大部分可見光與紅外光,反射率極低;
  • 淺色的「空」會反射大部分光線,反射率極高。

業界幾乎統一採用波長 630~670nm 的紅光作為掃描光源,原因是黑色油墨對紅光的吸收效果最穩定,與白色紙張的反射率差值最大,能實現最高的對比度與識別穩定性。

二、掃描運作的五大核心步驟

步驟1:光源發射,均勻照射條碼

掃描器首先發出光線覆蓋條碼區域,不同技術的照射方式不同:

  • 雷射掃描器:透過雷射二極體發出一束極細的紅色雷射光,再透過高速擺動的振鏡或多稜鏡,讓光束沿水平方向快速來回掃動,形成一條橫跨條碼的掃描線,逐點掠過所有條與空。
  • CCD 影像式掃描器:以一排 LED 紅光燈均勻照亮條碼整體,靠感光陣列直接擷取完整條碼影像。
  • 手機/二維掃描器:透過相機模組與補光燈拍攝畫面,以圖像識別方式定位條碼。

步驟2:反射光匯聚,傳遞至感光元件

條碼表面反射回來的明暗光線,會經過掃描器內部的透鏡組與反光鏡,精準聚焦在感光元件上。

這個步驟的作用,是把空間上分佈的「條空圖案」,轉換為時間上連續變化的「光強度訊號」——當掃描線從左到右掠過條碼時,感光元件接收到的光強會隨著條、空交替而出現規律性的高低起伏。

步驟3:光電轉換:光訊號 → 類比電訊號

感光元件(通常是光電二極體或 CCD 感光陣列)會將光強度的變化,轉換為對應的電壓變化:

  • 光線強(對應空的位置)→ 輸出高電壓
  • 光線弱(對應條的位置)→ 輸出低電壓

此時輸出的是一段連續、平滑的類比電壓波形,對應條碼的整體明暗變化;但受印刷精度、油墨擴散、表面汙損影響,波形邊緣會有圓角、雜訊,還不能直接用於解碼。

步驟4:訊號整形:類比訊號 → 數位二進位訊號

這一步是掃描器的「訊號處理核心」,目的是把不規則的類比波形,整理成標準的數位方波:

  1. 先透過放大電路將微弱電壓訊號放大;
  2. 再透過濾波電路過濾環境光雜訊、印刷毛刺帶來的干擾;
  3. 最後透過「閾值比較電路」設定一個門檻電壓:高於門檻判定為「空(對應二進位 0)」,低於門檻判定為「條(對應二進位 1)」。

經過整形後,原本的類比波形就變成了一串由 0 與 1 組成的標準二進位序列,完整對應條碼的條空排列。

步驟5:解碼與校驗:二進位序列 → 可讀字符

這是掃描的最後一步,由內建解碼晶片執行,分為三個小階段:

  1. 識別邊界:先找到起始符與終止符的特徵編碼(例如 EAN-13 的起始符為 101),確定有效數據的範圍與掃描方向。
  2. 按規則轉譯:根據對應碼制(EAN、Code 128、Code 39 等)的編碼表,將每一段二進位序列對應轉換為數字、字母或符號。
  3. 校驗驗證:依據碼制內建的校驗規則(如 EAN 的模 10 校驗)計算校驗值,與條碼內的校驗位比對。若校驗通過,就輸出最終字符並觸發「嗶」的成功提示;若校驗失敗,則丟棄本次結果並等待下一次掃描。

三、常見掃描技術的運作差異

技術類型核心原理優勢適用場景
雷射單線掃描雷射光束+振鏡擺動,逐點掃描掃描速度快、景深大、距離遠、成本適中零售收銀、倉儲物流,僅支援一維條碼
CCD 線陣掃描一維感光陣列直接取像無機械磨損、耐用度高、對汙損容忍度佳工業產線、零售,僅支援一維條碼
二維影像掃描CMOS 相機拍攝+圖像識別演算法同時支援一維/二維碼、可讀彎曲/汙損碼、支援螢幕掃描行動支付、門票驗證、現代零售與物流
手機相機掃描系統相機+軟體解碼演算法無需額外硬體、普及度高消費者端行動應用

四、關鍵技術細節補充

  1. 為什麼會有「嗶」的提示音?
    只有當解碼成功、校驗位驗證通過時,掃描器才會觸發蜂鳴器與指示燈提示,代表本次讀取有效,避免輸出錯誤數據。
  2. 為什麼部分汙損的條碼仍能掃描?
    一維條碼主要靠校驗位偵錯,輕微汙損只要不影響條空邊界判定,仍可正確讀取;二維條碼內建裡德-所羅門(Reed-Solomon)糾錯演算法,最高可承受 30% 面積損毀仍正常解碼。
  3. 掃描景深是什麼?
    指能成功解碼的最近與最遠距離範圍。雷射掃描器景深可達數十公分,適合遠距離掃描;手機掃描需要對焦,景深相對較小。
網址 QR Code (條碼掃描是如何運作的?)
本頁網址 QR Code
已複製到剪貼簿

條碼 barcode

倉頡/速成