久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ZBar在Windows上的使用(1)

 冷泉閣 2017-03-18
  1. 下載ZBar v0.10 http://zbar./ 
    外網無法進入的話,,在此下載http://download.csdn.net/detail/sunflower_boy/9175433 
    1.1 默認安裝 
    注意勾選上Development Headers and Libraries 
    ZBar Installation Note 1 
    安裝完成后可在ZBar安裝路徑下找到examples文件夾,,用vs2008及以上編譯器可以打開工程文件(由于權限問題,,部分機器可能要將examples文件夾拷貝至其他目錄下運行) 
    在工程屬性中可以看見例程還需要ImageMagick組件來讀取文件,將文件轉換成需要的格式 
    這里寫圖片描述
  2. 下載ImageMagick 
    http://www./download/binaries/ImageMagick-6.9.2-4-Q8-x86-dll.exe 
    注意:我的版本是6.9.1-7-Q8-x86,。和上面下載鏈接上的不一樣,,如果使用上面的程序安裝,下面說明中的路徑都要改成對應的版本路徑,。 
    2.1 默認安裝 
    注意勾選Install development headers and libraries for C and C++ 
    Magick Install Note 1 
    2.2 修改工程屬性以匹配自己下載安裝的版本 
    project->property->C/C++->General->Additional Include Directories 
    C:\Program Files (x86)\ImageMagick-6.9.1-Q8\include 
    這里寫圖片描述
    2.3 project-property-C/C++-General-Additional Include Directories 
    C:\Program Files (x86)\ImageMagick-6.9.1-Q8\lib\CORE_RL_Magick++_.lib 
    這里寫圖片描述
    2.4 如果出現error C2220: 警告被視為錯誤:打開屬性project-property-C/C++-General->Treat Warnings As Errors改為No(/WX-),。 
    這里寫圖片描述
  3. 打開scan_image.cpp 
    屏蔽掉11行的 
    if(argc < 2) return(1); 
    將27行的 
    Magick::Image magick(argv[1]); 
    替換為 
    Magick::Image magick("barcode.png"); 
    程序最后置斷點,運行,,OK!

  4. 分析 
    從例程中可以看出Magick只是用來打開圖片,,轉換格式,轉換成灰度,,二維矩陣的作用,。用OpenCV應該也可以,。

  5. 附錄1: 
    scan_image.cpp

#include <iostream>
#include <Magick++.h>
#include <zbar.h>
#define STR(s) #s

using namespace std;
using namespace zbar;

int main (int argc, char **argv)
{
    //if(argc < 2) return(1);

#ifdef MAGICK_HOME
    // http://www./Magick++/
    //    under Windows it is necessary to initialize the ImageMagick
    //    library prior to using the Magick++ library
    Magick::InitializeMagick(MAGICK_HOME);
#endif

    // create a reader
    ImageScanner scanner;

    // configure the reader
    scanner.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1);

    // obtain image data
    Magick::Image magick("barcode.png");  // read an image file
    int width = magick.columns();   // extract dimensions
    int height = magick.rows();
    Magick::Blob blob;              // extract the raw data
    magick.modifyImage();
    magick.write(&blob, "GRAY", 8);
    const void *raw = blob.data();

    // wrap image data
    Image image(width, height, "Y800", raw, width * height);

    // scan the image for barcodes
    int n = scanner.scan(image);

    // extract results
    for(Image::SymbolIterator symbol = image.symbol_begin();
        symbol != image.symbol_end();
        ++symbol) {
        // do something useful with results
        cout << "decoded " << symbol->get_type_name()
             << " symbol \"" << symbol->get_data() << '"' << endl;
    }

    // clean up
    image.set_data(NULL, 0);

    return(0);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

想要進一步了解Magick的可參考 
http://www./Magick++/tutorial/Magick++_tutorial.pdf

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多