zbar+opencv配合实现条码识别

来源:互联网 发布:python web 非阻塞 编辑:程序博客网 时间:2024/04/29 16:26


1.安装opencv

2.安装zbar

3.注意程序中链接库配置

#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <zbar.h>#include <iostream>#include <iomanip>using namespace std;using namespace cv;using namespace zbar;int main(int argc, char **argv) {    ImageScanner scanner;    scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1);    cv::Mat frame, frame_grayscale;    frame=imread(argv[1]);    cout<<frame.channels()<<endl;    cvtColor(frame, frame_grayscale, CV_BGR2GRAY);    int width = frame_grayscale.cols;    int height = frame_grayscale.rows;    uchar *raw = (uchar *)(frame_grayscale.data);    Image image(width, height, "Y800", raw, width * height);    scanner.scan(image);    for (Image::SymbolIterator symbol = image.symbol_begin(); symbol != image.symbol_end(); ++symbol) {            time_t now;            tm *current;            now = time(0);            current = localtime(&now);            // do something useful with results            cout<< "[" << current->tm_hour << ":" << current->tm_min << ":" << setw(2) << setfill('0') << current->tm_sec << "] " << " "                    << "decoded " << symbol->get_type_name()                    << " symbol \"" << symbol->get_data() << '"' << endl;        }    return 0;}

CMakeLists.txt

cmake_minimum_required (VERSION 2.6)
project (ZBARCV)

set(CMAKE_MODULE_PATH ${ZBARCV_SOURCE_DIR})
find_package (OpenCV)
find_package (ZBar0)


add_executable (zbar_opencv main.cpp)
target_link_libraries (zbar_opencv ${OpenCV_LIBRARIES} ${ZBAR_LIBRARIES})

(注:只是个人笔记)



原创粉丝点击