#include #include #include "scanner.h" #include "scannerregs.h" #include "usbservice.h" #include "motorboard.h" #include "ICapturer.h" #include "Capturer.h" #include "MonoCapturer.h" #include "imageusbhandler.h" #include "CImageMerge.h" using namespace std; int menu() { int choice; cout << " **** Menu **** " << endl << endl; cout << "(1) start." << endl; cout << "(2) stop. " << endl; cout << "(3) count. " << endl; cout << "(4) mode. " << endl; cout << "(5) testcorrect"<> choice; return choice; } int main() { // auto img = cv::imread("/home/linaro/anlogic_gxx_linux/0_org.jpg",cv::IMREAD_GRAYSCALE); // auto retmat = CImageMerge().MergeImage(true,img,7776,150,0x90001); // img.release(); // cv::imwrite("/home/linaro/anlogic_gxx_linux/0_org_t.jpg",retmat); // return 1; bool exit = false; std::shared_ptr motorboard(new MotorBoard(nullptr)); std::shared_ptr capturer(new MonoCapturer()); std::shared_ptr scanner(new Scanner(capturer, motorboard,nullptr)); std::shared_ptr scannerRegs(new ScannerRegAccess(scanner)); scanner->set_imagehandler(std::shared_ptr(new ImageUsbHandler())); int option; for (;;) { option = menu(); switch (option) { case 0: exit = true; break; case 1: HGScanConfig cfg;//={ cfg.g200params.paper = 16; cfg.g200params.color=0; cfg.g200params.dpi = 0x02; cfg.g200params.double_feed_enbale=0; cfg.g200params.stable_enbale = 0; cfg.g200params.screw_detect_enable = 0; cfg.g200params.screw_detect_level = 0; cfg.g200params.iscorrect_mode = 0; cfg.g200params.en_autosize = 0; cfg.g200params.pc_correct=0; cfg.g200params.double_out_en = 0; cfg.g200params.enabledsp_cache = 0; cfg.g200params.sizeerror_errorratio = 0; //}; scanner->configparam(cfg); scanner->start_scan(); while(1) std::this_thread::sleep_for(chrono::milliseconds(1)); break; case 2: scanner->stop_scan(); break; case 3: std::cout << "scan count " << scanner->count() << std::endl; break; case 4: std::cout << "os mode" << scanner->mode() << std::endl; case 5 : scanner->test_autocorrect(0); default: cout << "nop, Please select again! " << endl; break; } /* code */ if (exit) break; } cout << "exit menu" << endl; return 0; }