调整穿孔移除算法位置,调整噪点优化范围,折角范围,调整G300 解压,调整帮助文档支持英文版

This commit is contained in:
13038267101 2023-06-13 18:18:46 +08:00
parent fd3de04846
commit 625ed510b3
9 changed files with 284 additions and 310 deletions

View File

@ -40,13 +40,9 @@ G200Decode::G200Decode(std::shared_ptr<std::vector<char>> buff,bool is_duplex,bo
buffB->resize(b_buffer_size);
buffF->resize(f_buffer_size);
if (is_duplex)
{
m_buffs.push_back(is_switchFrontBack ? buffF : buffB);
m_buffs.push_back(is_switchFrontBack ? buffB : buffF);
}
else
m_buffs.push_back(is_switchFrontBack ? buffF : buffB);
m_buffs.push_back(buffF);
m_buffs.push_back(buffB);
}
G400Decode::G400Decode(std::shared_ptr<std::vector<char>> buff,bool i)

View File

@ -1221,3 +1221,159 @@ namespace setting3399
};
#ifndef WIN32
#ifdef OEM_HANWANG
#define LIBNAME "libhwdriver.so"
#define HGVERSION_LIBNANE "libHwVersion.so"
#define IMGPRC_LIBNANE "libHwImgProc.so"
#define HGBASE_LIBNAME "libHwBase.so"
#ifdef UOS
#define HELP_PATH "../../entries/help/HanvonScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN
#elif KYLIN
#define HELP_PATH "../doc/HanvonScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN
#endif
#elif defined(OEM_LISICHENG)
#define LIBNAME "liblscdriver.so"
#define HGVERSION_LIBNANE "libLscVersion.so"
#define IMGPRC_LIBNANE "libLscImgProc.so"
#define HGBASE_LIBNAME "libLscBase.so"
#ifdef UOS
#define HELP_PATH "../../entries/help/LanxumScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#elif KYLIN
#define HELP_PATH "../doc/LanxumScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#endif
#elif defined(OEM_CANGTIAN)
#define LIBNAME "libctsdriver.so"
#define HGVERSION_LIBNANE "libCtsVersion.so"
#define IMGPRC_LIBNANE "libCtsImgProc.so"
#define HGBASE_LIBNAME "libCtsBase.so"
#ifdef UOS
#define HELP_PATH "../../entries/help/CumtennScan_scanSettings_Help_manual.pdf";
#define HELP_PATH_EN ""
#elif KYLIN
#define HELP_PATH "../doc/CumtennScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#endif
#elif defined(OEM_ZHONGJING)
#define LIBNAME "libzjdriver.so"
#define HGVERSION_LIBNANE "libZjVersion.so"
#define IMGPRC_LIBNANE "libZjImgProc.so"
#define HGBASE_LIBNAME "libZjBase.so"
#ifdef UOS
#define HELP_PATH "../../entries/help/MicrotekScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN "../../entries/help/MicrotekScan_scanSettings_Help_manual_EN.pdf"
#elif KYLIN
#define HELP_PATH "../doc/MicrotekScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN "../doc/MicrotekScan_scanSettings_Help_manual_EN.pdf"
#endif
#elif defined(OEM_ZIGUANG)
#define LIBNAME "libzgdriver.so"
#define HGVERSION_LIBNANE "libZGVersion.so"
#define IMGPRC_LIBNANE "libZgImgProc.so"
#define HGBASE_LIBNAME "libZgBase.so"
#ifdef UOS
#define HELP_PATH "../../entries/help/UniScan_scanSettings_Help_manual.pdf";
#define HELP_PATH_EN ""
#elif KYLIN
#define HELP_PATH "../doc/UniScan_scanSettings_Help_manual.pdf";
#define HELP_PATH_EN ""
#endif
#elif defined(OEM_NEUTRAL)
#define LIBNAME "libneudriver.so"
#define HGVERSION_LIBNANE "libNeuVersion.so"
#define IMGPRC_LIBNANE "libNeuImgProc.so"
#define HGBASE_LIBNAME "libNeuBase.so"
#ifdef UOS
#define HELP_PATH "../../entries/help/HuaGoScan_scanSettings_Help_manual.pdf";
#define HELP_PATH_EN ""
#elif KYLIN
#define HELP_PATH "../doc/HuaGoScan_scanSettings_Help_manual.pdf";
#define HELP_PATH_EN ""
#endif
#else
#define LIBNAME "libhgdriver.so"
#define HGVERSION_LIBNANE "libHGVersion.so"
#define IMGPRC_LIBNANE "libHGImgProc.so"
#define HGBASE_LIBNAME "libHGBase.so"
#ifdef UOS
#define HELP_PATH "../../entries/help/HuaGoScan_scanSettings_Help_manual.pdf";
#define HELP_PATH_EN ""
#elif KYLIN
#define HELP_PATH "../doc/HuaGoScan_scanSettings_Help_manual.pdf";
#define HELP_PATH_EN ""
#endif
#endif
#else
#ifdef OEM_HANWANG
#define HGVERSION_LIBNANE "HWVersion.dll"
#define IMGPRC_LIBNANE "HWImgProc.dll"
#define HGBASE_LIBNAME "HWBase.dll"
#define HELP_PATH "HanvonScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#elif defined(OEM_LISICHENG)
#define HGVERSION_LIBNANE "LSCVersion.dll"
#define IMGPRC_LIBNANE "LSCImgProc.dll"
#define HGBASE_LIBNAME "LSCBase.dll"
#define HELP_PATH "LanxumScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#elif defined(OEM_CANGTIAN)
#define HGVERSION_LIBNANE "CTSVersion.dll"
#define IMGPRC_LIBNANE "CtsImgProc.dll"
#define HGBASE_LIBNAME "CtsBase.dll"
#define HELP_PATH "CumtennScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#elif defined(OEM_ZHONGJING)
#define HGVERSION_LIBNANE "ZJVersion.dll"
#define IMGPRC_LIBNANE "ZJImgProc.dll"
#define HGBASE_LIBNAME "ZJBase.dll"
#define HELP_PATH "MicrotekScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN "MicrotekScan_scanSettings_Help_manual_EN.pdf"
#elif defined(OEM_ZIGUANG)
#define HGVERSION_LIBNANE "ZGVersion.dll"
#define IMGPRC_LIBNANE "ZGImgProc.dll"
#define HGBASE_LIBNAME "ZGBase.dll"
#define HELP_PATH "UniScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#elif defined(OEM_NEUTRAL)
#define HGVERSION_LIBNANE "NEUVersion.dll"
#define IMGPRC_LIBNANE "NEUImgProc.dll"
#define HGBASE_LIBNAME "NEUBase.dll"
#define HELP_PATH "HuaGoScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#else
#define OEM_HUAGAO
#define HGVERSION_LIBNANE "HGVersion.dll"
#define IMGPRC_LIBNANE "HGImgProc.dll"
#define HGBASE_LIBNAME "HGBase.dll"
#define HELP_PATH "HuaGoScan_scanSettings_Help_manual.pdf"
#define HELP_PATH_EN ""
#endif
#define LIBNAME "scanner.dll"
#endif

View File

@ -158,7 +158,7 @@ hg_scanner::hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io, i
, is_dpi_color_check(false), save_dpi_color_check_val(0.0f), is_auto_falt(false), HGVersion_mgr_(NULL), HGVersion_Init_(NULL)
, HGVersion_Islock_(NULL), HGVersion_Postlog_(NULL), HGVersion_Free_(NULL), Dynamicopen_HGVersion_pHandle_(NULL), pid_(pid), fetching_id_(-1)
, is_kernelsnap3288_230210_(false), color_correction_(false), is_kernelsnap_239_3C_(false), is_kernelsnap_239_220500_(false), is_kernelsnap3288_230303_(false)
, is_kernelsnap_211227_(false),is_auto_paper_scan_exit_time(60), is_read_int(true), is_kernelsnap_439_3C0606(false)
, is_kernelsnap_211227_(false),is_auto_paper_scan_exit_time(60), is_read_int(true), is_kernelsnap_439_3C0606(false), is_auto_feedmode_(false)
{
#if !defined(_WIN32) && !defined(_WIN64) &&defined(x86_64)
isx86_Advan_ = false;
@ -346,6 +346,7 @@ void hg_scanner::thread_devslock_handle(void)
#endif
is_firstopen_ = false;
//is_read_int = false;
break;
}
//int ret = SCANNER_ERR_OK;
@ -443,23 +444,12 @@ int hg_scanner::hg_version_init_handle()
{
int ret = SCANNER_ERR_OK;
#ifndef WIN32
#ifdef OEM_HANWANG
string libname = "libhwdriver.so";
#elif defined(OEM_LISICHENG)
string libname = "liblscdriver.so";
#elif defined(OEM_CANGTIAN)
string libname = "libctsdriver.so";
#elif defined(OEM_ZHONGJING)
string libname = "libzjdriver.so";
#else
string libname = "libhgdriver.so";
#endif
string scanner_path = hg_log::get_module_full_path(libname.c_str());
string scanner_path = hg_log::get_module_full_path(LIBNAME);
if (scanner_path.empty())
{
return SCANNER_ERR_OUT_OF_RANGE;
}
scanner_path = scanner_path.substr(0, scanner_path.size() - libname.size());
scanner_path = scanner_path.substr(0, scanner_path.size() - strlen(LIBNAME));
string HGVersionlib_path = scanner_path + HGVERSION_LIBNANE;
if (access(HGVersionlib_path.c_str(), F_OK) != 0)
@ -480,8 +470,8 @@ int hg_scanner::hg_version_init_handle()
HGVersion_Free_ = (SDKHGVersion_Free_)dlsym(Dynamicopen_HGVersion_pHandle_, "HGVersion_DestroyMgr");
#else
string scanner_path = hg_log::get_module_full_path("scanner.dll");
scanner_path = scanner_path.substr(0, scanner_path.size() - strlen("scanner.dll"));
string scanner_path = hg_log::get_module_full_path(LIBNAME);
scanner_path = scanner_path.substr(0, scanner_path.size() - strlen(LIBNAME));
string HGVersionlib_path = scanner_path + HGVERSION_LIBNANE;
wchar_t* Prclibbuffer = new wchar_t[HGVersionlib_path.length() + 1];
@ -1429,10 +1419,22 @@ int hg_scanner::setting_restore(void* data, long* len)
}
int hg_scanner::setting_help(void* data, long* len)
{
int ret = SCANNER_ERR_OK;
std::string helpfile = helpfile_;
string scanner_path = hg_log::get_module_full_path(LIBNAME);
std::string helpfile = HELP_PATH;
std::string com = "xdg-open ";//注意空格保留
int code_page = lang_get_cur_code_page();
int ret = SCANNER_ERR_OK;
if (scanner_path.empty())
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
if (code_page == 20127)
{
helpfile = HELP_PATH_EN;
}
helpfile = scanner_path.substr(0, scanner_path.size() - strlen(LIBNAME)) + helpfile;
printf("helpfile = %s\r\n", helpfile.c_str());
#if defined(WIN32) || defined(_WIN64)
@ -1457,7 +1459,7 @@ int hg_scanner::setting_help(void* data, long* len)
#else
system(com.c_str());
#endif
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO,"App_Help_pdf path is:%s system is:%d\r\n",helpfile.c_str());
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO,"App_Help_pdf path is:%s \n",helpfile.c_str());
return ret;
}
int hg_scanner::setting_color_mode(void* data, long* len)
@ -1663,7 +1665,11 @@ int hg_scanner::setting_paper_check(void* data, long* len)
int ret = on_paper_check_changed(use);
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "Change paper size-checking %s = %s\n", *((bool*)data) ? "enabled" : "disabled", hg_scanner_err_name(ret));
if (ret == SCANNER_ERR_DEVICE_NOT_SUPPORT)
{
*((bool*)data) = use;
}
save_sizecheck = use;
return ret;
@ -1974,7 +1980,7 @@ int hg_scanner::setting_go_on_when_double_checked(void* data, long* len)
if (!is_kernelsnap_239_220500_ && val.compare(hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_DQTXBTZSM)))
{
strcpy((char*)data, hg_log::lang_load(ID_OPTION_VALUE_SZTPCL_SCTXBTZSM));
notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORT), SANE_EVENT_ERROR, SCANNER_ERR_DEVICE_NOT_SUPPORT);
//notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORT), SANE_EVENT_ERROR, SCANNER_ERR_DEVICE_NOT_SUPPORT);
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
@ -2209,6 +2215,10 @@ int hg_scanner::setting_white_pixel_0(void* data, long* len)
}
int hg_scanner::setting_feedmode(void* data, long* len)
{
if (is_auto_feedmode_)
{
return SCANNER_ERR_OK;;
}
std::string str((char *)data);
int val = match_best_paper_strength(str,NULL);
@ -2252,8 +2262,10 @@ int hg_scanner::setting_sleeptime(void* data, long* len)
val = 240;
break;
}
if (val == sleeptime_)
return SCANNER_ERR_OK;
/*if (val == sleeptime_)
return SCANNER_ERR_OK;*/
mintosec = val ;
if (val != -1)
{
@ -2271,8 +2283,8 @@ int hg_scanner::setting_sleeptime(void* data, long* len)
int hg_scanner::setting_auto_pick_paper(void* data, long* len)
{
int ret = SCANNER_ERR_OK;
bool isautopic = *((bool *)data);
ret = on_pick_paper(isautopic);
is_auto_feedmode_ = *((bool *)data);
ret = on_pick_paper(is_auto_feedmode_);
return ret;
}
@ -2290,7 +2302,7 @@ int hg_scanner::setting_auto_paper_scan(void* data, long* len)
if (!is_kernelsnap_439_220430_ && is_auto_paper_scan)
{
is_auto_paper_scan = *(bool*)data = false;
notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORTED), SANE_EVENT_ERROR, SCANNER_ERR_DEVICE_NOT_SUPPORT);
//notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORTED), SANE_EVENT_ERROR, SCANNER_ERR_DEVICE_NOT_SUPPORT);
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
@ -2355,7 +2367,7 @@ int hg_scanner::setting_color_correction(void* data, long* len)
{
if ((!is_kernelsnap_239_3C_ || !is_kernelsnap_439_3C0606) && color_correction_)
{
notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORT), SANE_EVENT_ERROR, SCANNER_ERR_DEVICE_NOT_SUPPORT);
//notify_ui_working_status(hg_log::lang_load(ID_STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORT), SANE_EVENT_ERROR, SCANNER_ERR_DEVICE_NOT_SUPPORT);
*((bool*)data) = color_correction_ = false;
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
@ -2652,28 +2664,7 @@ void hg_scanner::init_settings(const char* json_setting_text)
change_string_2_lang_id(v.c_str(), "desc");
setting_jsn_.at(v.c_str()).at("type").get_to(val);
if (v.compare(from_default_language(SANE_STD_OPT_NAME_TIME_TO_SLEEP)) == 0)
{
int val = 0;
get_sleep_time(val);
const char* p_time = NULL;
if (val == -1 || val > 20000)
p_time = from_default_language(OPTION_VALUE_XMSJ_BXM);
else if (val > 0 && val <= 300)
p_time = from_default_language(OPTION_VALUE_XMSJ_WFZ);
else if (val > 300 && val <= 600)
p_time = from_default_language(OPTION_VALUE_XMSJ_SFZ);
else if (val > 600 && val <= 1800)
p_time = from_default_language(OPTION_VALUE_XMSJ_BXS);
else if (val > 1800 && val <= 3600)
p_time = from_default_language(OPTION_VALUE_XMSJ_YXS);
else if (val > 3600 && val <= 7200)
p_time = from_default_language(OPTION_VALUE_XMSJ_LXS);
else if (val > 7200 && val <= 14400)
p_time = from_default_language(OPTION_VALUE_XMSJ_SXS);
if (p_time)
setting_jsn_.at(from_default_language(SANE_STD_OPT_NAME_TIME_TO_SLEEP)).at("default") = p_time;
}
if (v.compare(from_default_language(SANE_STD_OPT_NAME_FEED_STRENGTH)) == 0)
{
int val = 0;
@ -4741,6 +4732,10 @@ int hg_scanner::image_configuration(SCANCONF& ic)
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.cropRect.height=%d\r\n", ic.cropRect.height);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.cropRect.x=%d\r\n", ic.cropRect.x);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.cropRect.y=%d\r\n", ic.cropRect.y);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.dogeardistabce=%d\r\n", ic.dogeardistabce);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.fold_concatmode=%d\r\n", ic.fold_concatmode);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.HsvFilterType=%d\r\n", ic.HsvFilterType);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.is_colorcast =%d\r\n", ic.is_colorcast);
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "ic.isuoloadexceptionimage=%d\r\n", ic.isuoloadexceptionimage);
return ret;
}

View File

@ -31,51 +31,7 @@
#include <unistd.h>
#include <dlfcn.h>
#endif
#ifdef OEM_HANWANG
#ifdef WIN32
#define HGVERSION_LIBNANE "HWVersion.dll"
#else
#define HGVERSION_LIBNANE "libHwVersion.so"
#endif
#elif defined(OEM_LISICHENG)
#ifdef WIN32
#define HGVERSION_LIBNANE "LSCVersion.dll"
#else
#define HGVERSION_LIBNANE "libLscVersion.so"
#endif
#elif defined(OEM_CANGTIAN)
#ifdef WIN32
#define HGVERSION_LIBNANE "CTSVersion.dll"
#else
#define HGVERSION_LIBNANE "libCtsVersion.so"
#endif
#elif defined(OEM_ZHONGJING)
#ifdef WIN32
#define HGVERSION_LIBNANE "ZJVersion.dll"
#else
#define HGVERSION_LIBNANE "libZjVersion.so"
#endif
#elif defined(OEM_ZIGUANG)
#ifdef WIN32
#define HGVERSION_LIBNANE "ZGVersion.dll"
#else
#define HGVERSION_LIBNANE "libZGVersion.so"
#endif
#elif defined(OEM_NEUTRAL)
#define OEM_HUAGAO
#ifdef WIN32
#define HGVERSION_LIBNANE "NEUVersion.dll"
#else
#define HGVERSION_LIBNANE "libNeuVersion.so"
#endif
#else
#define OEM_HUAGAO
#ifdef WIN32
#define HGVERSION_LIBNANE "HGVersion.dll"
#else
#define HGVERSION_LIBNANE "libHGVersion.so"
#endif
#endif
#ifndef WIN32
#define __stdcall
@ -377,6 +333,7 @@ protected:
bool is_auto_falt; //是否进行平场校正
bool color_correction_; //是否色彩校正
int is_auto_paper_scan_exit_time; //待纸扫描退出时间
bool is_auto_feedmode_; //是否启用自动分纸强度
SANE_DISTORTION_VAL distortion_val; //畸变修正结构体保存
@ -558,47 +515,5 @@ public:
virtual int set_updata0303(void) ;
};
#ifdef UOS
#ifdef OEM_HANWANG
static const std::string helpfile_ ="/opt/apps/com.hanvonchina.hanvonscan/entries/help/HanvonScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_LISICHENG)
static const std::string helpfile_ ="/opt/apps/com.lanxumchina.lanxumscan/entries/help/LanxumScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_CANGTIAN)
static const std::string helpfile_ = "/opt/apps/com.cumtennchina.cumtennscan/entries/help/CumtennScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_ZHONGJING)
static const std::string helpfile_ = "/opt/apps/com.microtekchina.microtekscan-ex/entries/help/MicrotekScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_ZIGUANG)
static const std::string helpfile_ = "/opt/apps/com.unischina.uniscan/entries/help/UniScan_scanSettings_Help_manual.pdf";//帮助文档路径
#else
static const std::string helpfile_ ="/opt/apps/com.huagaochina.huagoscan/entries/help/HuaGoScan_scanSettings_Help_manual.pdf";//帮助文档路径
#endif
#elif KYLIN
#ifdef OEM_HANWANG
static const std::string helpfile_ ="/opt/apps/scanner-driver-hanvon/doc/HanvonScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_LISICHENG)
static const std::string helpfile_ ="/opt/apps/scanner-driver-lanxum/doc/LanxumScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_CANGTIAN)
static const std::string helpfile_ = "/opt/apps/scanner-driver-cumtenn/doc/CumtennScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_ZHONGJING)
static const std::string helpfile_ = "/opt/apps/scanner-driver-microtek-ex/doc/MicrotekScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_ZIGUANG)
static const std::string helpfile_ = "/opt/apps/scanner-driver-unis/doc/UniScan_scanSettings_Help_manual.pdf";//帮助文档路径
#else
static const std::string helpfile_ ="/opt/apps/scanner-driver-huagao/doc/HuaGoScan_scanSettings_Help_manual.pdf";//帮助文档路径
#endif
#elif defined(WIN32) || defined(_WIN64)
#ifdef OEM_HANWANG
static const std::string helpfile_ = "HanvonScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_LISICHENG)
static const std::string helpfile_ = "LanxumScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_CANGTIAN)
static const std::string helpfile_ = "CumtennScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_ZHONGJING)
static const std::string helpfile_ = "MicrotekScan_scanSettings_Help_manual.pdf";//帮助文档路径
#elif defined(OEM_ZIGUANG)
static const std::string helpfile_ = "UniScan_scanSettings_Help_manual.pdf";//帮助文档路径
#else
static const std::string helpfile_ = "HuaGoScan_scanSettings_Help_manual.pdf";//帮助文档路径
#endif
#endif
//TEST 测试GIT切换

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -69,64 +69,6 @@ using namespace std;
#define IMAGE_DATA_BUF_CVMAT (void*)MAKE_INT('M', 'T', 'R', 'X')
#define IMAGE_DATA_BUF_CHAR (void*)MAKE_INT('C', 'H', 'A', 'R')
//动态打开库的命名
#ifdef OEM_HANWANG
#ifdef WIN32
#define IMGPRC_LIBNANE "HWImgProc.dll"
#define HGBASE_LIBNAME "HWBase.dll"
#else
#define IMGPRC_LIBNANE "libHwImgProc.so"
#define HGBASE_LIBNAME "libHwBase.so"
#endif
#elif defined(OEM_LISICHENG)
#ifdef WIN32
#define IMGPRC_LIBNANE "LSCImgProc.dll"
#define HGBASE_LIBNAME "LSCBase.dll"
#else
#define IMGPRC_LIBNANE "libLscImgProc.so"
#define HGBASE_LIBNAME "libLscBase.so"
#endif
#elif defined(OEM_CANGTIAN)
#ifdef WIN32
#define IMGPRC_LIBNANE "CtsImgProc.dll"
#define HGBASE_LIBNAME "CtsBase.dll"
#else
#define IMGPRC_LIBNANE "libCtsImgProc.so"
#define HGBASE_LIBNAME "libCtsBase.so"
#endif
#elif defined(OEM_ZHONGJING)
#ifdef WIN32
#define IMGPRC_LIBNANE "ZJImgProc.dll"
#define HGBASE_LIBNAME "ZJBase.dll"
#else
#define IMGPRC_LIBNANE "libZjImgProc.so"
#define HGBASE_LIBNAME "libZjBase.so"
#endif
#elif defined(OEM_ZIGUANG)
#ifdef WIN32
#define IMGPRC_LIBNANE "ZGImgProc.dll"
#define HGBASE_LIBNAME "ZGBase.dll"
#else
#define IMGPRC_LIBNANE "libZgImgProc.so"
#define HGBASE_LIBNAME "libZgBase.so"
#endif
#elif defined(OEM_NEUTRAL)
#ifdef WIN32
#define IMGPRC_LIBNANE "NEUImgProc.dll"
#define HGBASE_LIBNAME "NEUBase.dll"
#else
#define IMGPRC_LIBNANE "libNeuImgProc.so"
#define HGBASE_LIBNAME "libNeuBase.so"
#endif
#else
#ifdef WIN32
#define IMGPRC_LIBNANE "HGImgProc.dll"
#define HGBASE_LIBNAME "HGBase.dll"
#else
#define IMGPRC_LIBNANE "libHGImgProc.so"
#define HGBASE_LIBNAME "libHGBase.so"
#endif
#endif
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// functional ...
////////////////////////////////////////////////////////////////////////////////
@ -544,6 +486,7 @@ namespace hg_imgproc
buffer_.reset(new std::vector<char >());
int i=0;
vector<cv::Mat>Temp_mat;
for (auto& buf : buffs)
{
i++;
@ -577,54 +520,19 @@ namespace hg_imgproc
}
if (param_.cis_image)
{
mats_.push_back(mat);
Temp_mat.push_back(mat);
}
else if (pid == 0x100 || pid == 0x200 || pid == 0x139 || pid == 0x239 || pid_ == 0x439)
{
mats_.push_back(mat);
Temp_mat.push_back(mat);
//cv::imwrite(std::to_string(i)+"_decode.jpg",mat);
}
else if(pid == 0x300 || pid == 0x400|| pid == 0x402 || pid == 0x302)
{
std::vector<cv::Mat> hole;
cv::Mat back = mat(cv::Rect(0, 0, mat.cols / 2, mat.rows));
cv::Mat front = mat(cv::Rect(mat.cols / 2, 0, mat.cols / 2, mat.rows));
//////除穿孔算法移至解压图像之后
double left = img_conf_.fillholeratio_left / 100.0;
double right = img_conf_.fillholeratio_right / 100.0;
double top = img_conf_.fillholeratio_up / 100.0;
double low = img_conf_.fillholeratio_down / 100.0;
if (left > 0 || right > 0 || top > 0 || low > 0)
{
hole.resize(2);
hole[0] = back;
hole[1] = front;
fillhole1(hole, top, low, right, left);
//cv::imwrite(std::to_string(i) + "back.jpg", hole[0]);
//cv::imwrite(std::to_string(i) + "front.jpg", hole[1]);
}
if (!hole.empty())
{
back = hole[0];
front = hole[1];
hole.clear();
}
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "Remove hole is '%s',Hole image buffer size is:%d\n", !hole.empty() ? "enable" : "close", hole.size());
if(img_conf_.is_duplex)
{
mats_.push_back(img_conf_.is_switchfrontback ? back :front);
mats_.push_back(img_conf_.is_switchfrontback ? front :back);
}
else
{
mats_.push_back(front);
Temp_mat.push_back(mat(cv::Rect(0, 0, mat.cols / 2, mat.rows)));
Temp_mat.push_back(mat(cv::Rect(mat.cols / 2, 0, mat.cols / 2, mat.rows)));
}
back.release();
front.release();
}
//cv::imwrite(std::to_string(i)+"_decode.jpg",mat);
buffer_.reset(new std::vector<char >());
}
catch (const std::exception& e)
@ -633,7 +541,44 @@ namespace hg_imgproc
throw(e); // 继续抛到上层处理。
}
}
buffs.clear();
if (pid_ == 0x200 || pid_ == 0x300 || pid_ == 0x400 || pid_ == 0x100)
{
//////除穿孔算法移至解压图像之后
double left = img_conf_.fillholeratio_left / 100.0;
double right = img_conf_.fillholeratio_right / 100.0;
double top = img_conf_.fillholeratio_up / 100.0;
double low = img_conf_.fillholeratio_down / 100.0;
if (left > 0 || right > 0 || top > 0 || low > 0)
fillhole1(Temp_mat, top, low, right, left);
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "Remove hole is '%s',Hole image buffer size is:%d\n", !Temp_mat.empty() ? "enable" : "close", Temp_mat.size());
}
if (Temp_mat.empty())
{
return SCANNER_ERR_NO_DATA;
}
//mats_.resize(Temp_mat.size());
if (pid_ ==0x100 ||pid_ == 0x200 || pid_ == 0x300 || pid_ == 0x400)
{
if (img_conf_.is_duplex)
{
mats_.push_back(img_conf_.is_switchfrontback ? Temp_mat[1] : Temp_mat[0]);
mats_.push_back(img_conf_.is_switchfrontback ? Temp_mat[0] : Temp_mat[1]);
}
else
mats_.push_back(Temp_mat[0]);
}
else
{
mats_ = Temp_mat;
}
Temp_mat.clear();
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "Decode %u bytes to %u picture(s)\n", origin, mats_.size());
if (mats_.empty())
{