From: <tum...@li...> - 2012-01-27 18:37:06
|
Revision: 984 http://tum-ros-pkg.svn.sourceforge.net/tum-ros-pkg/?rev=984&view=rev Author: moesenle Date: 2012-01-27 18:36:55 +0000 (Fri, 27 Jan 2012) Log Message: ----------- Author: Dejan Pangercic <dej...@gm...> Date: Fri Jan 27 19:36:01 2012 +0100 commit 260b7704746b8185e64e3ccb0284ec3054176ff2 Author: Dejan Pangercic <dej...@gm...> Date: Fri Jan 27 19:34:40 2012 +0100 zbar compiled w/o video support, cpp example of zbar client commit 60392bba300cd3b7908678100b1645ff182ef8d1 Author: Dejan Pangercic <dej...@cs...> Date: Sun Aug 29 22:04:18 2010 +0200 public export commit 24765aef5f57c082d078c5b599947ed71d0c8437 Author: Dejan Pangercic <dej...@cs...> Date: Sun Aug 29 22:02:29 2010 +0200 added a launch file commit c358c7210ee1c53d032b34118fb84b15c35b9c68 Author: Dejan Pangercic <dej...@cs...> Date: Sun Aug 29 21:59:21 2010 +0200 created a node for barcode reading, input: image output: type,value exchanged c for c++ interface tested TODO: find a n..... that will port to cop:-) commit 0fd52914acf001cc75df60a84dffc0395a2e769b Author: Dejan Pangercic <dej...@cs...> Date: Sun Aug 29 21:24:21 2010 +0200 c++ implementation of zbar commit 1c567129b5432e62765bd0e87f1bc18f2a126bd2 Author: Dejan Pangercic <dej...@cs...> Date: Sun Aug 29 21:23:38 2010 +0200 added dependency git-commit Modified Paths: -------------- perception/zbar_barcode_reader_node/CMakeLists.txt Added Paths: ----------- perception/zbar_barcode_reader_node/src/scan_image.cpp Modified: perception/zbar_barcode_reader_node/CMakeLists.txt =================================================================== --- perception/zbar_barcode_reader_node/CMakeLists.txt 2012-01-27 18:36:44 UTC (rev 983) +++ perception/zbar_barcode_reader_node/CMakeLists.txt 2012-01-27 18:36:55 UTC (rev 984) @@ -31,5 +31,8 @@ rosbuild_add_executable(zbar_barcode_reader src/zbar_barcode_reader.c) target_link_libraries(zbar_barcode_reader MagickWand MagickCore) +rosbuild_add_executable(zbar_barcode_reader_cpp src/scan_image.cpp) +target_link_libraries(zbar_barcode_reader_cpp MagickWand MagickCore Magick++) + rosbuild_add_executable(zbar_barcode_reader_node src/zbar_barcode_reader_node.cpp) target_link_libraries(zbar_barcode_reader_node Magick++) \ No newline at end of file Added: perception/zbar_barcode_reader_node/src/scan_image.cpp =================================================================== --- perception/zbar_barcode_reader_node/src/scan_image.cpp (rev 0) +++ perception/zbar_barcode_reader_node/src/scan_image.cpp 2012-01-27 18:36:55 UTC (rev 984) @@ -0,0 +1,54 @@ +#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.imagemagick.org/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(argv[1]); // 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); +} Property changes on: perception/zbar_barcode_reader_node/src/scan_image.cpp ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |