在C 中使用ZBar識別條形碼

2022-01-16 20:35:03 字數 1439 閱讀 4550

一.識別庫

二.從一張中提取多個條形碼

三.注意事項

從學了很多,本著分享的目的,希望後來者遇到類似問題時,不必重複造輪子,早點下班回家^-^。

目前主流的識別庫主要有zxing.net和zbar,這裡我使用的是zbar,zxing.net也試過,同等條件下,識別率不高。

很奇怪為什麼不能直接引用libzbar.dll,實際使用時引用的是libzbar-cil.dll,libiconv-2.dll是libzbar-cil.dll用來對映libzbar.dll的。

先上截圖:

需要提取條形碼的:

識別結果

主要**:

/// /// 條碼識別

///

private void scanbarcode(string filename)}}

/// /// 處理灰度

///

///

///

public static bitmap makegrayscale3(bitmap original)

,new float ,

new float ,

new float ,

new float

});//create some image attributes

imageattributes attributes = new imageattributes();

//set the color matrix attribute

attributes.setcolormatrix(colormatrix);

//draw the original image on the new image

//using the grayscale color matrix

g.drawimage(original, new rectangle(0, 0, original.width, original.height),

0, 0, original.width, original.height, graphicsunit.pixel, attributes);

//dispose the graphics object

g.dispose();

return newbitmap;

}

如果條碼識別率不高,考慮是的dpi不夠。我的專案初期使用的是500萬畫素的高拍儀,拍出來的識別率始終不高,dpi為96。後來更換為800萬畫素的高拍儀,dpi為120,識別率從60%直接上公升到95%+。當然,也需要對做一些裁剪。另外,灰度處理是必須的,可減少拍攝**時反光引起的識別率不高問題。

在C 中使用ZBar識別條形碼

一.識別庫 二.從一張中提取多個條形碼 三.注意事項 從學了很多,本著分享的目的,希望後來者遇到類似問題時,不必重複造輪子,早點下班回家 目前主流的識別庫主要有zxing.net和zbar,這裡我使用的是zbar,zxing.net也試過,同等條件下,識別率不高。很奇怪為什麼不能直接引用libzba...

識別條形碼

問題描述 計算機學院2013級的院草語文難同學是軟院院花牟黑黑愛慕的物件,因此牟黑黑經常約楠神去逛街,楠神不喜歡陪牟黑黑逛街,但是不得不從啊。所以在牟黑黑逛街的時候他就無聊的用眼睛識別條形碼 在生活中,條形碼經常用來標誌物品的資訊。條形碼是由黑白相間的條組成的。條的寬度有兩種,我們可以認為窄的代表0...

一維條形碼識別c語言 條形碼技術的優點

條形碼是迄今為止最經濟 實用的一種自動識別技術。條形碼技術具有以下幾個方面的優點 a 輸入速度快 與鍵盤輸入相比,條形碼輸入的速度是鍵盤輸入的5倍,並且能實現 即時資料輸入 b 可靠性高 鍵盤 輸入資料出錯率為三百分之一,利用光學字元識別技術出錯率 為萬分之一,而採用條形碼技術誤位元速率低於百萬分之...