zbar識別條碼

2021-10-17 07:20:46 字數 1615 閱讀 3122

cv運算元之識別條形碼,將其做在相機一直拿圖程式裡面,看看效率以及延遲

測試zbar識別一幀影象215ms左右,優化zbar識別程式,減少它識別的類別,一幀影象 165ms左右

該程式基於qt寫的

ubuntu安裝zbar

sudo

apt-get

install libzbar-dev

.pro

libs += /usr/lib/x86_64-linux-gnu/libzbar.so.0.2.0

.cpp

#include

using namespace zbar;

#ifdef cvtool

qdatetime current_date_time = qdatetime::currentdatetime();

qstring start_time = current_date_time.tostring(

"yyyy.mm.dd hh:mm:ss.zzz");

qdebug(

)<<

"start_time:"

<< start_time << endl;

long long msec_time = qdatetime::currentdatetime(

).tomsecssinceepoch();

cv::mat grayimg;

//output_img是相機的原始影象

pyrdown(output_img,output_img)

; cvtcolor(output_img,grayimg,cv::color_bgr2gray)

; int cv_width = grayimg.cols;

int cv_height = grayimg.rows;

uchar *raw =

(uchar *)

(grayimg.data)

; image image( cv_width, cv_height, "y800", raw, cv_width*cv_height)

; imagescanner scanner;

scanner.set_config(zbar_none,zbar_cfg_enable,0)

; scanner.set_config(zbar_ean13,zbar_cfg_enable,1)

; scanner.scan((image))

; int counter =0;

int i=0;

for(image::symboliterator symbol = image.symbol_begin(

);symbol!=image.symbol_end(

);++symbol)

qdebug(

)<<

"processing speed:"

<< qdatetime::currentdatetime(

).tomsecssinceepoch(

) - msec_time <<

"ms"

<< endl;

#endif

python條碼識別

yolov3 tiny,可以用來標註,有預訓練 dbnet 有onnx模型,48m 經過多次調研,終於找到opencv版的條碼檢測,條碼識別 opencv 條形碼檢測 c 版 python版 安卓手機自動把螢幕調整到最亮,會有過曝情況,import cv2 import numpy as np im...

在OpenCV裡實現條碼識別

現在條碼這麼普及,對於條碼的識別,很多應用場合都需要使用。在這裡就介紹乙個比較小的條碼識別庫,它就是pyzbar,對於一般的條碼,它是能識別出來的,如果比較新的格式可能識別不了。可以使用下面的命令來安裝它 pip install i pyzbar 成功安裝之後,就可以用下面的 進行測試 python...

在C 中使用ZBar識別條形碼

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