From fa67e6cd17c1d94bddcff7ca493cf087c63c2092 Mon Sep 17 00:00:00 2001 From: 13038267101 Date: Mon, 9 Jan 2023 16:03:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=95=B8=E5=8F=98=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/ImageProcess/CISTestImageProcess.cpp | 7 +++---- hgdriver/ImageProcess/CISTestImageProcess.h | 6 +++--- hgdriver/hgdev/hg_scanner.cpp | 12 ++++++++++-- hgdriver/hgdev/hg_scanner.h | 3 +++ hgdriver/hgdev/hg_scanner_400.cpp | 2 +- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/hgdriver/ImageProcess/CISTestImageProcess.cpp b/hgdriver/ImageProcess/CISTestImageProcess.cpp index 12c673b..6eeccea 100644 --- a/hgdriver/ImageProcess/CISTestImageProcess.cpp +++ b/hgdriver/ImageProcess/CISTestImageProcess.cpp @@ -96,11 +96,10 @@ int CISTestImageProcess::test(const cv::Mat& image, CISTestResult& result) box.size.width = box.size.height; box.size.height = temp; } - float scale_xy = box.size.width / box.size.height; - result.scaleXY1 = scale_xy; - result.scaleXY2 = scale_xy; - result.scaleXY3 = scale_xy; + result.w = box.size.width; + result.h = box.size.height; + result.scaleXY = box.size.width / box.size.height; #endif return 0; } diff --git a/hgdriver/ImageProcess/CISTestImageProcess.h b/hgdriver/ImageProcess/CISTestImageProcess.h index dc2fac0..dd7116a 100644 --- a/hgdriver/ImageProcess/CISTestImageProcess.h +++ b/hgdriver/ImageProcess/CISTestImageProcess.h @@ -9,9 +9,9 @@ public: struct CISTestResult { - double scaleXY1; //Բ1ݱ - double scaleXY2; //Բ2ݱ - double scaleXY3; //Բ3ݱ + double w; //Բ + double h; //Բ + double scaleXY; //Բ3ݱ uchar colorBlock1[3]; //ɫɫ1RGB uchar colorBlock2[3]; //ɫɫ2RGB diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index fcfcde4..22cb15d 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -3422,7 +3422,12 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len) } else if(code == IO_CTRL_CODE_GET_DISTORTION_CHECK_VAL) { - return get_distortion_check_val(*((int*)data)); + if (distortion_val.h > 0) + { + *(SANE_DISTORTION_VAL*)data = distortion_val; + } + return SCANNER_ERR_OK; + //return get_distortion_check_val(*((int*)data)); } else if(code == IO_CTRL_CODE_SET_DISTORTION_CHECK_VAL) { @@ -3694,7 +3699,10 @@ void hg_scanner::image_process(std::shared_ptr& buffer) { CISTestImageProcess::CISTestResult res; err = hg_imgproc::cis_test_image(ImagePrc_pHandle_, res); - save_dpi_color_check_val = res.scaleXY1; + distortion_val.h = res.h; + distortion_val.w = res.w; + distortion_val.scaleXY = res.scaleXY; + save_dpi_color_check_val = res.scaleXY; is_dpi_color_check = false; } else if (param.cis_image) diff --git a/hgdriver/hgdev/hg_scanner.h b/hgdriver/hgdev/hg_scanner.h index ca99ddc..27d72f9 100644 --- a/hgdriver/hgdev/hg_scanner.h +++ b/hgdriver/hgdev/hg_scanner.h @@ -338,6 +338,9 @@ protected: bool is_dpi_color_check; //纵向DPI、色差检测 ,畸变自动计算 float save_dpi_color_check_val; //保存纵向DPI、色差检测 ,畸变自动计算 的值 bool is_auto_falt; //是否进行平场校正 + SANE_DISTORTION_VAL distortion_val; //畸变修正结构体保存 + + int split3399_; //3399设备正面和反面图像是相对的,所以对折时反面需要进行特殊处理 int pid_; diff --git a/hgdriver/hgdev/hg_scanner_400.cpp b/hgdriver/hgdev/hg_scanner_400.cpp index f148204..9871bc1 100644 --- a/hgdriver/hgdev/hg_scanner_400.cpp +++ b/hgdriver/hgdev/hg_scanner_400.cpp @@ -168,7 +168,7 @@ void hg_scanner_400::thread_handle_usb_read(void) } } - if (sw.elapsed_s() > 30 && !is_auto_falt)//防止状态信息一直取不上来导致卡死 + if (sw.elapsed_s() > 30)//防止状态信息一直取不上来导致卡死 { status_ = !savestatus_.empty() ? savestatus_[0] : SCANNER_ERR_TIMEOUT; savestatus_.clear();