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); }