Halcon一維碼查詢

2022-09-11 12:30:13 字數 2425 閱讀 7048

一、影象預處理和條碼增強

對比度太低:scale_image(或使用外部程式scale_image_range),增強影象的對比度。

影象模糊:emphasize銳化影象,使條碼看起來更清晰。

深色背景上讀取淺色條碼:invert_image反轉影象。

二、解碼涉及的主要運算元

read_image :讀圖

create_bar_code_model :建立條碼模型

find_bar_code :查詢條碼

clear_bar_code_model :清除條碼模型

如果條碼非常簡單,那麼順次執行上面4個運算元就可以完成解碼了。另外還有幾個運算元也很重要:

set_bar_code_param :設定解碼時的引數

decode_bar_code_rectangle2 :在指定的矩形區域內解碼

get_bar_code_param :獲取解碼時的引數(如果沒有設定過,則獲得的是預設值)

get_bar_code_result :獲得解碼後的結果,例如可以獲得條碼的型別(code 128、code 39等等)

get_bar_code_object :獲得解碼時的一些物件,例如可以獲得解碼後的條碼區域

三、提高解碼能力的其他措施

如果條碼影象預處理以後,仍舊解碼困難或者解位元速率不高,那麼可以通過以下措施進一步提高解碼能力:

1、如果整張圖資訊太多,則可以先把條碼區域挖出來,使用reduce_domain和crop_domain運算元,這樣不僅可以降低解碼難度,還可以減少解碼時間。也可使用decode_bar_code_rectangle2在指定的矩形區域內解碼。

2、可以嘗試把條碼影象轉正再解碼。(這種操作未經嚴格驗證,不知道是否可以有效提高解位元速率)

3、當條碼很密或者很小的時候,可以嘗試用zoom_image_factor放大了條碼影象。

4、find_bar_code中將「codetype」設定為「auto」可以讀取多種型別的條碼,但是會增加執行時間,且可能會降低解碼的可靠性。最好只掃瞄預知的條形碼型別。

四、set_bar_code_param運算元的引數解析

'element_size_min'

條碼的最小尺寸,指條碼寬度和間距,大碼應設大一點,減少處理時間

'element_size_max'

條碼的最大尺寸,不能過小也不能過大

'check_char'

是否驗證校驗位,'absent'不檢查校驗和,'present'檢查校驗和

'persistence'

設定為1,可以通過get_barcode_result 獲取"quality_isoiec15416"或getbarcodeobject with "scanlines_all" or "scanlines_valid"(掃碼線)

'num_scanlines'

解碼時所用掃瞄線的最大數目,設定為0表示自動確定,一般設定為2-30

"measure_size_variable「

當條碼有些變形設定這個值可以找到

'start_stop_tolerance'

容許誤差值,可設定為'low'或者'high',設定為'high'可能造成誤判

'orientation'、'orientation_tol'

分別指條碼的方向和方向容差,設定準確可大大提高解碼效率

'element_height_min'

條碼的最小高度,預設值-1表示自動推測條碼高度,該引數對速度影響大

'stop_after_result_num'

設定要解碼的個數,0表示全部找出,設定為2表示找到2個就不找了

'majority_voting'

設定為false,預設掃瞄線上最少數量點的那條線,true就可以用大部分結果來評判,可以減少資料錯誤

'meas_thresh'和'meas_thresh_abs'

表示掃瞄線測量閾值

'min_identical_scanlines'

解碼最小需要多少掃瞄線

』num_scanlines'

解碼需要多少最大掃瞄線數 0是自動

『contrast_min'

查詢掃碼區域的最小對比度

'start_stop_tolerance'

在檢查掃瞄線的開始或停止模式時,分別強制執行容忍(「高」)或嚴格(「低」)搜尋標準。更寬容的標準通常會增加條形碼的檢測機會,前提是處理後的影象中有清晰的符號。另一方面,它可能導致在雜訊影象或包含來自其他符號的符號的影象中的錯誤檢測。容忍度較低的準則增加了對錯誤檢測的魯棒性,但可能會降低一般檢測率。目前,僅針對**128和gs1-128實施了兩個不同的標準。

min_code_length

找到字串最小長度

merge_scanlines

允許有物體擋住的掃瞄線

Halcon 一維測量

一 一維測量思路大致步驟 1.構造測量物件 建立測量區域 2.剖面線計算 做灰度值平均投影 3.剖面線光滑 消除雜訊 4.剖面線求導 5.區域性極值 邊緣 二 一維測量運算元 1.gen measure arc 2.gen measure rectangle2 3.measure pos 4.mea...

Halcon一維測量 直線測量

1 測量直線對距離的運算元 gen measure rectangle2 measure pairs gen measure rectangle2 row,column phi length1 length2 width height interpolation measurehandle 獲取測量...

halcon 藥丸查詢

dev close window dev update off read image baseimage,blister blister reference get image size baseimage,width,height dev open window fit image baseima...