From e6a51ba329b52b34953b04c8462a5a60ae09ff7b Mon Sep 17 00:00:00 2001 From: gb <741021719@qq.com> Date: Fri, 11 Aug 2023 16:31:29 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=97=E6=B3=95=E5=AF=B9=E8=B1=A1=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=97=B6=E6=89=8D=E5=88=9D=E5=A7=8B=E5=8C=96=EF=BC=9B?= =?UTF-8?q?=E5=B1=8F=E8=94=BD=E9=83=A8=E5=88=86=E5=8F=AF=E5=B1=80=E9=83=A8?= =?UTF-8?q?=E5=8C=96=E6=88=96=E6=9C=AA=E7=94=A8=E7=9A=84=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E7=AE=97=E6=B3=95=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hgdriver/ImageProcess/ImageApplyAutoCrop.cpp | 2 +- .../ImageApplyColorRecognition.cpp | 4 ++-- hgdriver/hgdev/hg_scanner.cpp | 18 +++++++++++------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/hgdriver/ImageProcess/ImageApplyAutoCrop.cpp b/hgdriver/ImageProcess/ImageApplyAutoCrop.cpp index 37d6ed0..7c2ff63 100644 --- a/hgdriver/ImageProcess/ImageApplyAutoCrop.cpp +++ b/hgdriver/ImageProcess/ImageApplyAutoCrop.cpp @@ -152,7 +152,6 @@ cv::Scalar CImageApplyAutoCrop::getBackGroudColor(const cv::Mat& image, int thre } } -CImageApplyDispersion m_dispersion_apply; void CImageApplyAutoCrop::autoCrop_desaskew_fillBlank(cv::Mat& src, cv::Mat& dst, bool isAutoCrop, bool isDesaskew, bool isFillBlank, int dWidth, int dHeight, bool isConvex, bool isColorBlank, double threshold, int noise, int indent, bool isNormalCrop, bool dispersion, double fx, double fy) { @@ -217,6 +216,7 @@ void CImageApplyAutoCrop::autoCrop_desaskew_fillBlank(cv::Mat& src, cv::Mat& dst if (dispersion) { + CImageApplyDispersion m_dispersion_apply; cv::Mat mat_dispersion = src(cv::boundingRect(maxContour)); m_dispersion_apply.apply(mat_dispersion, 0); } diff --git a/hgdriver/ImageProcess/ImageApplyColorRecognition.cpp b/hgdriver/ImageProcess/ImageApplyColorRecognition.cpp index e276eee..ad1446e 100644 --- a/hgdriver/ImageProcess/ImageApplyColorRecognition.cpp +++ b/hgdriver/ImageProcess/ImageApplyColorRecognition.cpp @@ -1,8 +1,8 @@ #include "ImageApplyColorRecognition.h" #include "ImageApplyHeaders.h" -static CImageApplyBWBinaray m_bw; -static CImageApplyAdjustColors m_ac(0, 50, 1.0f); +//static CImageApplyBWBinaray m_bw; +//static CImageApplyAdjustColors m_ac(0, 50, 1.0f); /// /// 检测图像是否是彩色。当前逻辑仅针对红色像素进行判断,即存在红色像素则为彩色,否则为非彩色 diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index b3ca39b..3b028ad 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -234,7 +234,7 @@ hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io, i thread_devslock_handle_.reset(new std::thread(&hg_scanner::thread_devslock_handle, this)); #endif - ImagePrc_pHandle_ = hg_imgproc::init(pid_, isx86_Advan_);; + ImagePrc_pHandle_ = nullptr; // hg_imgproc::init(pid_, isx86_Advan_);; } hg_scanner::~hg_scanner() { @@ -254,7 +254,8 @@ hg_scanner::~hg_scanner() #endif delete custom_gamma_val_; - hg_imgproc::release(ImagePrc_pHandle_); + if(ImagePrc_pHandle_) + hg_imgproc::release(ImagePrc_pHandle_); name_.insert(0, hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_DEVS)); name_ += hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_IS_CLOSE); @@ -1070,11 +1071,14 @@ void hg_scanner::thread_handle_image_process(void) { if (!ImagePrc_pHandle_) { - - VLOG_MINI_1(LOG_LEVEL_FATAL, "[thread_handle_image_process]:Get Image Process is NULL pid is %d.\n",pid_); - stop_fatal_ = SCANNER_ERR_INSUFFICIENT_MEMORY; - stop(); - break; + ImagePrc_pHandle_ = hg_imgproc::init(pid_, isx86_Advan_); + if (!ImagePrc_pHandle_) + { + VLOG_MINI_1(LOG_LEVEL_FATAL, "[thread_handle_image_process]:Get Image Process is NULL pid is %d.\n", pid_); + stop_fatal_ = SCANNER_ERR_INSUFFICIENT_MEMORY; + stop(); + break; + } } image_process(tiny_buffer, id); }