调整穿孔移除算法位置,调整噪点优化范围,折角范围,调整G300 解压,调整帮助文档支持英文版
This commit is contained in:
parent
fd3de04846
commit
625ed510b3
|
@ -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)
|
||||
|
|
|
@ -1220,4 +1220,160 @@ namespace setting3399
|
|||
{PAPER_TRIGEMINY, TwSS::MaxSize, setting3288dsp_600dpi::G400_LONGLETTER},
|
||||
};
|
||||
|
||||
|
||||
|
||||
#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
|
||||
|
||||
|
|
|
@ -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,12 +1419,24 @@ 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;
|
||||
|
||||
printf("helpfile = %s\r\n",helpfile.c_str());
|
||||
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)
|
||||
com = "";
|
||||
helpfile.insert(0, hg_log::get_scanner_path());
|
||||
|
@ -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));
|
||||
*((bool*)data) = use;
|
||||
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;
|
||||
}
|
|
@ -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
|
@ -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);
|
||||
}
|
||||
|
||||
back.release();
|
||||
front.release();
|
||||
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)));
|
||||
}
|
||||
//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())
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue