调整互斥判断
This commit is contained in:
parent
06fad03081
commit
209c6ac4db
|
@ -996,252 +996,6 @@ int hg_scanner::hgpaper_to_devspaper(Paper_Map papermap[], int len, int& paper,
|
|||
return ind;
|
||||
}
|
||||
|
||||
int hg_scanner::image_configuration(SCANCONF &ic)
|
||||
{
|
||||
int ret = 0;
|
||||
ic.papertype = paper_size_;
|
||||
|
||||
if (is_lateral(image_prc_param_.bits.paper))
|
||||
ic.paperAlign = Rot270;
|
||||
else
|
||||
ic.paperAlign = Rot0;
|
||||
|
||||
//ic.en_sizecheck = dev_conf_.params_3399.enable_sizecheck; 子类处理
|
||||
|
||||
if (image_prc_param_.bits.text_direction != TEXT_DIRECTION_AUTO)
|
||||
ic.imageRotateDegree = (float)image_prc_param_.bits.text_direction;
|
||||
else
|
||||
ic.imageRotateDegree = 0;
|
||||
|
||||
ic.imageRotateDegree *= 90.0f;
|
||||
ic.is_duplex = (image_prc_param_.bits.page == PAGE_DOUBLE
|
||||
|| image_prc_param_.bits.page == PAGE_OMIT_EMPTY
|
||||
|| image_prc_param_.bits.page == PAGE_OMIT_EMPTY_RECEIPT
|
||||
|| image_prc_param_.bits.page == PAGE_FOLIO);
|
||||
|
||||
ic.en_fold = (image_prc_param_.bits.page == PAGE_FOLIO);
|
||||
ic.pixtype = image_prc_param_.bits.color_mode == COLOR_MODE_AUTO_MATCH ? 2 : image_prc_param_.bits.color_mode;
|
||||
ic.automaticcolor = is_auto_matic_color;
|
||||
ic.automaticcolortype = 1;// ic.pixtype; //存疑
|
||||
|
||||
ic.resolution_dst = (resolution_ >= 300) ? (is_quality_ == IMG_SPEED ? 200 : resolution_) : resolution_;
|
||||
|
||||
//if (resolution_ >= 300)
|
||||
//{
|
||||
// if (is_quality_ == IMG_SPEED)
|
||||
// ic.resolution_dst = 200;
|
||||
// else
|
||||
// ic.resolution_dst = resolution_;
|
||||
//}
|
||||
//else
|
||||
// ic.resolution_dst = resolution_;
|
||||
|
||||
ic.resolution_native = 200.0f;
|
||||
ic.gamma = (float)gamma_;
|
||||
{
|
||||
//子类处理
|
||||
/*ic.contrast = (contrast_ - 4) * 333.0;
|
||||
ic.brightness = (bright_ - 128) * (2000.0 / 254.0);*/
|
||||
}
|
||||
|
||||
ic.threshold = threshold_;
|
||||
ic.is_autocontrast = 0; //无参数
|
||||
ic.is_autocrop = (ic.papertype == TwSS::None || ic.papertype == TwSS::USStatement);
|
||||
ic.is_autodiscradblank_normal = image_prc_param_.bits.page == PAGE_OMIT_EMPTY;
|
||||
ic.discardblank_percent = omit_empty_level_ >= 70 ? 70 : omit_empty_level_;
|
||||
ic.is_autodiscradblank_vince = image_prc_param_.bits.page == PAGE_OMIT_EMPTY_RECEIPT;
|
||||
ic.is_switchfrontback = image_prc_param_.bits.exchange;
|
||||
ic.autodescrew = image_prc_param_.bits.automatic_skew;
|
||||
//ic.multi_output_red = image_prc_param_.bits.rid_red; //必须屏蔽,否则超时,未知错误不可描述。
|
||||
ic.hsvcorrect = image_prc_param_.bits.rid_answer_red;
|
||||
ic.sharpen = image_prc_param_.bits.sharpen;
|
||||
//ic.enhance_color = image_prc_param_.bits.rid_color; //加这个会有问题
|
||||
ic.fillbackground = image_prc_param_.bits.erase_black_frame;
|
||||
ic.is_convex = (image_prc_param_.bits.fill_background == FILL_BKG_CONVEX_POLYGON);
|
||||
if (ic.resolution_dst == 300)
|
||||
ic.noise = anti_noise_ * 1.5;
|
||||
else if (ic.resolution_dst == 600)
|
||||
ic.noise = anti_noise_ * 3;
|
||||
else
|
||||
ic.noise = anti_noise_;
|
||||
|
||||
ic.indent = margin_;
|
||||
ic.AutoCrop_threshold = threshold_;
|
||||
{
|
||||
//子类处理
|
||||
//if (test_1_paper_)
|
||||
//{
|
||||
// LOG_INFO(LOG_LEVEL_DEBUG_INFO, "scanning mode: testing ONE paper ...\n");
|
||||
// ic.scannum = ic.is_duplex ? 2 : 1;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// if (scan_count_ == -1)
|
||||
// ic.scannum = -1;
|
||||
// else
|
||||
// ic.scannum = (ic.is_duplex ? scan_count_ * 2 : scan_count_);
|
||||
//}
|
||||
}
|
||||
ic.is_backrotate180 = image_prc_param_.bits.rotate_back_180;
|
||||
ic.is_dogeardetection = image_prc_param_.bits.fractate_check;
|
||||
{
|
||||
//子类处理
|
||||
//ic.hardwarecaps.en_skrewdetect = dev_conf_.params_3399.screw_detect_enable;
|
||||
//ic.hardwarecaps.en_doublefeed = dev_conf_.params_3399.ultrasonic_enable;
|
||||
//ic.hardwarecaps.en_stapledetect = dev_conf_.params_3399.staple_enbale;
|
||||
//ic.hardwarecaps.skrewdetectlevel = dev_conf_.params_3399.screw_detect_level;
|
||||
//ic.hardwarecaps.is_autopaper = dev_conf_.params_3399.is_autopaper;
|
||||
}
|
||||
ic.hardwarecaps.capturepixtype = 0; //暂无参数 获取图像类型
|
||||
ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使用
|
||||
ic.fillhole.is_fillhole = image_prc_param_.bits.rid_hole;
|
||||
ic.fillhole.fillholeratio = rid_hole_range_;
|
||||
ic.detachnoise.is_detachnoise = image_prc_param_.bits.noise_optimize;
|
||||
ic.detachnoise.detachnoise = noise_range_;
|
||||
ic.is_autotext = image_prc_param_.bits.text_direction == TEXT_DIRECTION_AUTO ? 1 : 0;
|
||||
ic.isfillcolor = is_color_fill;
|
||||
ic.refuseInflow = image_prc_param_.bits.is_permeate;
|
||||
ic.colorCorrection = 0;
|
||||
ic.removeMorr = image_prc_param_.bits.remove_morr;
|
||||
ic.errorExtention = image_prc_param_.bits.error_extention;//
|
||||
ic.textureRemove = image_prc_param_.bits.remove_txtture;//
|
||||
ic.splitImage = image_prc_param_.bits.split;
|
||||
{
|
||||
ic.cropRect.enable = custom_area_;
|
||||
int height = (custom_area_br_y_ * ic.resolution_dst) / 25.4 - (custom_area_lt_y_ * ic.resolution_dst / 25.4);
|
||||
int width = (custom_area_br_x_ * ic.resolution_dst) / 25.4 - (custom_area_lt_x_ * ic.resolution_dst / 25.4);
|
||||
ic.cropRect.height = height;
|
||||
ic.cropRect.width = width;
|
||||
ic.cropRect.x = custom_area_lt_x_ * ic.resolution_dst / 25.4;
|
||||
ic.cropRect.y = custom_area_lt_y_ * ic.resolution_dst / 25.4;
|
||||
}
|
||||
ic.multiOutput = (MultiOutput)image_prc_param_.bits.multi_out;
|
||||
ic.normalCrop = image_prc_param_.bits.dark_sample;
|
||||
ic.dogeardistabce = fractate_level_;
|
||||
ic.fadeback = image_prc_param_.bits.erase_bakground;
|
||||
ic.fadebackrange = erase_bkg_range_;
|
||||
ic.isuoloadexceptionimage = (double_paper_handle_ & DOUBLE_PAPER_SAVE_IMG) == DOUBLE_PAPER_SAVE_IMG;
|
||||
adjust_filling_hole(&ic);
|
||||
ic.fold_concatmode = fold_type_;
|
||||
//多流输出优先级最高
|
||||
if (is_multiout)
|
||||
{
|
||||
ic.pixtype = image_prc_param_.bits.multi_out == MULTI_GRAY_AND_BW ? COLOR_MODE_256_GRAY : COLOR_MODE_24_BITS;
|
||||
ic.filter = 3;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.multi_output_red = 0;
|
||||
ic.fadeback = false;
|
||||
ic.sharpen = 0;
|
||||
ic.removeMorr = 0;
|
||||
ic.textureRemove = 0;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.multi_out == COLOR_MODE_24_BITS)
|
||||
{
|
||||
ic.filter = 3;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.multi_out == COLOR_MODE_256_GRAY)
|
||||
{
|
||||
int filter_clr[] = { 3, 0, 1, 2, 5, 6, 7 };
|
||||
ic.filter = filter_clr[image_prc_param_.bits.rid_color];
|
||||
ic.multi_output_red = 0;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.fadeback = false;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.multi_out == COLOR_MODE_BLACK_WHITE)
|
||||
{
|
||||
int filter_clr[] = { 3, 0, 1, 2, 5, 6, 7 };
|
||||
ic.filter = filter_clr[image_prc_param_.bits.rid_color];
|
||||
ic.multi_output_red = 0;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.fadeback = false;
|
||||
ic.sharpen = 0;
|
||||
ic.removeMorr = 0;
|
||||
ic.textureRemove = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.multi_out == COLOR_MODE_AUTO_MATCH)
|
||||
{
|
||||
ic.pixtype = 2;
|
||||
ic.filter = 3;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.multi_output_red = 0;
|
||||
ic.fadeback = false;
|
||||
ic.sharpen = 0;
|
||||
ic.removeMorr = 0;
|
||||
ic.textureRemove = 0;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
|
||||
}
|
||||
//自定义裁切
|
||||
if (image_prc_param_.bits.paper == PAPER_AUTO_MATCH
|
||||
|| image_prc_param_.bits.paper == PAPER_MAX_SIZE
|
||||
|| image_prc_param_.bits.paper == PAPER_MAX_SIZE_CLIP
|
||||
|| image_prc_param_.bits.paper == PAPER_TRIGEMINY
|
||||
)
|
||||
{
|
||||
ic.cropRect.enable = false;
|
||||
}
|
||||
img_conf_ = ic;
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.pixtype=%d", ic.pixtype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.papertype=%d", ic.papertype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.AutoCrop_threshold=%d", ic.AutoCrop_threshold);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.autodescrew=%d", ic.autodescrew);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.automaticcolor=%d", ic.automaticcolor);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.brightness=%f", ic.brightness);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.contrast=%f", ic.contrast);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.en_fold=%d", ic.en_fold);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.en_sizecheck=%d", ic.en_sizecheck);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.enhance_color=%d", ic.enhance_color);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fillbackground=%d", ic.fillbackground);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.filter=%d", ic.filter);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.gamma=%f", ic.gamma);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.hardwarecaps.capturepixtype=%d", ic.hardwarecaps.capturepixtype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.hardwarecaps.en_doublefeed=%d", ic.hardwarecaps.en_doublefeed);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.hsvcorrect=%d", ic.hsvcorrect);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.imageRotateDegree=%f", ic.imageRotateDegree);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.indent=%d", 5);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autocontrast=%d", ic.is_autocontrast);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autocrop=%d", ic.is_autocrop);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autodiscradblank_normal=%d", ic.is_autodiscradblank_normal);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autodiscradblank_vince=%d", ic.is_autodiscradblank_vince);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autotext=%d", ic.is_autotext);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_backrotate180=%d", ic.is_backrotate180);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_convex=%d", ic.is_convex);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_duplex=%d", ic.is_duplex);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_switchfrontback=%d", ic.is_switchfrontback);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_dogeardetection=%d", ic.is_dogeardetection);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fillhole.multi_output_red=%d", ic.multi_output_red);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.noise=%d", ic.noise);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.pixtype=%d", ic.pixtype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.resolution_dst=%f", ic.resolution_dst);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.resolution_native=%f", ic.resolution_native);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.scannum=%d", ic.scannum);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.sharpen=%d", ic.sharpen);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.discardblank_percent=%d", ic.discardblank_percent);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.is_detachnoise=%d", ic.detachnoise.is_detachnoise);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.detachnoise=%d\r ", ic.detachnoise.detachnoise);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.refuseInflow=%d\r ", ic.refuseInflow);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.refuseInflow=%d\r ", ic.refuseInflow);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.removeMorr=%d\r ", ic.removeMorr);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.errorExtention=%d\r ", ic.errorExtention);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.textureRemove=%d\r\n ", ic.refuseInflow);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fillhole.is_fillhole=%d\r\n ", ic.fillhole.is_fillhole);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.ic.fillhole.fillholeratio=%d\r\n ", ic.fillhole.fillholeratio);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fadeback=%d\r\n ", ic.fadeback);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.enable=%d\r ", ic.cropRect.enable);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.width=%d\r\n ", ic.cropRect.width);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.height=%d\r\n ", ic.cropRect.height);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.x=%d\r\n ", ic.cropRect.x);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.y=%d\r\n ", ic.cropRect.y);
|
||||
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner::invoke_setting_xxx(int(hg_scanner::*func)(void*), void* data)
|
||||
{
|
||||
int ret = SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
@ -3708,4 +3462,259 @@ void hg_scanner::image_process(std::shared_ptr<tiny_buffer>& buffer)
|
|||
}
|
||||
save_final_image(&ih, buf);
|
||||
}
|
||||
}
|
||||
|
||||
int hg_scanner::image_configuration(SCANCONF& ic)
|
||||
{
|
||||
int ret = 0;
|
||||
ic.papertype = paper_size_;
|
||||
|
||||
if (is_lateral(image_prc_param_.bits.paper))
|
||||
ic.paperAlign = Rot270;
|
||||
else
|
||||
ic.paperAlign = Rot0;
|
||||
|
||||
//ic.en_sizecheck = dev_conf_.params_3399.enable_sizecheck; 子类处理
|
||||
|
||||
if (image_prc_param_.bits.text_direction != TEXT_DIRECTION_AUTO)
|
||||
ic.imageRotateDegree = (float)image_prc_param_.bits.text_direction;
|
||||
else
|
||||
ic.imageRotateDegree = 0;
|
||||
|
||||
ic.imageRotateDegree *= 90.0f;
|
||||
ic.is_duplex = (image_prc_param_.bits.page == PAGE_DOUBLE
|
||||
|| image_prc_param_.bits.page == PAGE_OMIT_EMPTY
|
||||
|| image_prc_param_.bits.page == PAGE_OMIT_EMPTY_RECEIPT
|
||||
|| image_prc_param_.bits.page == PAGE_FOLIO);
|
||||
|
||||
ic.en_fold = (image_prc_param_.bits.page == PAGE_FOLIO);
|
||||
ic.pixtype = image_prc_param_.bits.color_mode == COLOR_MODE_AUTO_MATCH ? 2 : image_prc_param_.bits.color_mode;
|
||||
ic.automaticcolor = is_auto_matic_color;
|
||||
ic.automaticcolortype = 1;// ic.pixtype; //存疑
|
||||
|
||||
ic.resolution_dst = (resolution_ >= 300) ? (is_quality_ == IMG_SPEED ? 200 : resolution_) : resolution_;
|
||||
|
||||
//if (resolution_ >= 300)
|
||||
//{
|
||||
// if (is_quality_ == IMG_SPEED)
|
||||
// ic.resolution_dst = 200;
|
||||
// else
|
||||
// ic.resolution_dst = resolution_;
|
||||
//}
|
||||
//else
|
||||
// ic.resolution_dst = resolution_;
|
||||
|
||||
ic.resolution_native = 200.0f;
|
||||
ic.gamma = (float)gamma_;
|
||||
{
|
||||
//子类处理
|
||||
/*ic.contrast = (contrast_ - 4) * 333.0;
|
||||
ic.brightness = (bright_ - 128) * (2000.0 / 254.0);*/
|
||||
}
|
||||
|
||||
ic.threshold = threshold_;
|
||||
ic.is_autocontrast = 0; //无参数
|
||||
ic.is_autocrop = (ic.papertype == TwSS::None || ic.papertype == TwSS::USStatement);
|
||||
ic.is_autodiscradblank_normal = image_prc_param_.bits.page == PAGE_OMIT_EMPTY;
|
||||
ic.discardblank_percent = omit_empty_level_ >= 70 ? 70 : omit_empty_level_;
|
||||
ic.is_autodiscradblank_vince = image_prc_param_.bits.page == PAGE_OMIT_EMPTY_RECEIPT;
|
||||
ic.is_switchfrontback = image_prc_param_.bits.exchange;
|
||||
ic.autodescrew = image_prc_param_.bits.automatic_skew;
|
||||
//ic.multi_output_red = image_prc_param_.bits.rid_red; //必须屏蔽,否则超时,未知错误不可描述。
|
||||
ic.hsvcorrect = image_prc_param_.bits.rid_answer_red;
|
||||
ic.sharpen = image_prc_param_.bits.sharpen;
|
||||
//ic.enhance_color = image_prc_param_.bits.rid_color; //加这个会有问题
|
||||
ic.fillbackground = image_prc_param_.bits.erase_black_frame;
|
||||
ic.is_convex = (image_prc_param_.bits.fill_background == FILL_BKG_CONVEX_POLYGON);
|
||||
if (ic.resolution_dst == 300)
|
||||
ic.noise = anti_noise_ * 1.5;
|
||||
else if (ic.resolution_dst == 600)
|
||||
ic.noise = anti_noise_ * 3;
|
||||
else
|
||||
ic.noise = anti_noise_;
|
||||
|
||||
ic.indent = margin_;
|
||||
ic.AutoCrop_threshold = threshold_;
|
||||
{
|
||||
//子类处理
|
||||
//if (test_1_paper_)
|
||||
//{
|
||||
// LOG_INFO(LOG_LEVEL_DEBUG_INFO, "scanning mode: testing ONE paper ...\n");
|
||||
// ic.scannum = ic.is_duplex ? 2 : 1;
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// if (scan_count_ == -1)
|
||||
// ic.scannum = -1;
|
||||
// else
|
||||
// ic.scannum = (ic.is_duplex ? scan_count_ * 2 : scan_count_);
|
||||
//}
|
||||
}
|
||||
ic.is_backrotate180 = image_prc_param_.bits.rotate_back_180;
|
||||
ic.is_dogeardetection = image_prc_param_.bits.fractate_check;
|
||||
{
|
||||
//子类处理
|
||||
//ic.hardwarecaps.en_skrewdetect = dev_conf_.params_3399.screw_detect_enable;
|
||||
//ic.hardwarecaps.en_doublefeed = dev_conf_.params_3399.ultrasonic_enable;
|
||||
//ic.hardwarecaps.en_stapledetect = dev_conf_.params_3399.staple_enbale;
|
||||
//ic.hardwarecaps.skrewdetectlevel = dev_conf_.params_3399.screw_detect_level;
|
||||
//ic.hardwarecaps.is_autopaper = dev_conf_.params_3399.is_autopaper;
|
||||
}
|
||||
ic.hardwarecaps.capturepixtype = 0; //暂无参数 获取图像类型
|
||||
ic.hardwarecaps.lowpowermode = LowPowerMode::Min_None; //暂无参数 设置休眠时间 两个参数3399未使用
|
||||
ic.fillhole.is_fillhole = image_prc_param_.bits.rid_hole;
|
||||
ic.fillhole.fillholeratio = rid_hole_range_;
|
||||
ic.detachnoise.is_detachnoise = image_prc_param_.bits.noise_optimize;
|
||||
ic.detachnoise.detachnoise = noise_range_;
|
||||
ic.is_autotext = image_prc_param_.bits.text_direction == TEXT_DIRECTION_AUTO ? 1 : 0;
|
||||
ic.isfillcolor = is_color_fill;
|
||||
ic.refuseInflow = image_prc_param_.bits.is_permeate;
|
||||
ic.colorCorrection = 0;
|
||||
ic.removeMorr = image_prc_param_.bits.remove_morr;
|
||||
ic.errorExtention = image_prc_param_.bits.error_extention;//
|
||||
ic.textureRemove = image_prc_param_.bits.remove_txtture;//
|
||||
ic.splitImage = image_prc_param_.bits.split;
|
||||
{
|
||||
ic.cropRect.enable = custom_area_;
|
||||
int height = (custom_area_br_y_ * ic.resolution_dst) / 25.4 - (custom_area_lt_y_ * ic.resolution_dst / 25.4);
|
||||
int width = (custom_area_br_x_ * ic.resolution_dst) / 25.4 - (custom_area_lt_x_ * ic.resolution_dst / 25.4);
|
||||
ic.cropRect.height = height;
|
||||
ic.cropRect.width = width;
|
||||
ic.cropRect.x = custom_area_lt_x_ * ic.resolution_dst / 25.4;
|
||||
ic.cropRect.y = custom_area_lt_y_ * ic.resolution_dst / 25.4;
|
||||
}
|
||||
ic.multiOutput = (MultiOutput)image_prc_param_.bits.multi_out;
|
||||
ic.normalCrop = image_prc_param_.bits.dark_sample;
|
||||
ic.dogeardistabce = fractate_level_;
|
||||
ic.fadeback = image_prc_param_.bits.erase_bakground;
|
||||
ic.fadebackrange = erase_bkg_range_;
|
||||
ic.isuoloadexceptionimage = (double_paper_handle_ & DOUBLE_PAPER_SAVE_IMG) == DOUBLE_PAPER_SAVE_IMG;
|
||||
adjust_filling_hole(&ic);
|
||||
ic.fold_concatmode = fold_type_;
|
||||
//多流输出优先级最高
|
||||
if (is_multiout)
|
||||
{
|
||||
ic.pixtype = image_prc_param_.bits.multi_out == MULTI_GRAY_AND_BW ? COLOR_MODE_256_GRAY : COLOR_MODE_24_BITS;
|
||||
ic.filter = 3;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.multi_output_red = 0;
|
||||
ic.fadeback = false;
|
||||
ic.sharpen = 0;
|
||||
ic.removeMorr = 0;
|
||||
ic.textureRemove = 0;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.color_mode == COLOR_MODE_24_BITS)
|
||||
{
|
||||
ic.filter = 3;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.color_mode == COLOR_MODE_256_GRAY)
|
||||
{
|
||||
int filter_clr[] = { 3, 0, 1, 2, 5, 6, 7 };
|
||||
ic.filter = filter_clr[image_prc_param_.bits.rid_color];
|
||||
if (ic.filter != 3)
|
||||
{
|
||||
ic.pixtype = 2;
|
||||
}
|
||||
ic.multi_output_red = 0;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.fadeback = false;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.color_mode == COLOR_MODE_BLACK_WHITE)
|
||||
{
|
||||
int filter_clr[] = { 3, 0, 1, 2, 5, 6, 7 };
|
||||
ic.filter = filter_clr[image_prc_param_.bits.rid_color];
|
||||
if (ic.filter != 3)
|
||||
{
|
||||
ic.pixtype = 2;
|
||||
}
|
||||
ic.multi_output_red = 0;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.fadeback = false;
|
||||
ic.sharpen = 0;
|
||||
ic.removeMorr = 0;
|
||||
ic.textureRemove = 0;
|
||||
}
|
||||
else if (image_prc_param_.bits.color_mode == COLOR_MODE_AUTO_MATCH)
|
||||
{
|
||||
ic.pixtype = 2;
|
||||
ic.filter = 3;
|
||||
ic.hsvcorrect = 0;
|
||||
ic.multi_output_red = 0;
|
||||
ic.fadeback = false;
|
||||
ic.sharpen = 0;
|
||||
ic.removeMorr = 0;
|
||||
ic.textureRemove = 0;
|
||||
ic.errorExtention = 0;
|
||||
ic.detachnoise.is_detachnoise = 0;
|
||||
|
||||
}
|
||||
//自定义裁切
|
||||
if (image_prc_param_.bits.paper == PAPER_AUTO_MATCH
|
||||
|| image_prc_param_.bits.paper == PAPER_MAX_SIZE
|
||||
|| image_prc_param_.bits.paper == PAPER_MAX_SIZE_CLIP
|
||||
|| image_prc_param_.bits.paper == PAPER_TRIGEMINY
|
||||
)
|
||||
{
|
||||
ic.cropRect.enable = false;
|
||||
}
|
||||
img_conf_ = ic;
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.pixtype=%d", ic.pixtype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.papertype=%d", ic.papertype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.AutoCrop_threshold=%d", ic.AutoCrop_threshold);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.autodescrew=%d", ic.autodescrew);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.automaticcolor=%d", ic.automaticcolor);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.brightness=%f", ic.brightness);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.contrast=%f", ic.contrast);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.en_fold=%d", ic.en_fold);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.en_sizecheck=%d", ic.en_sizecheck);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.enhance_color=%d", ic.enhance_color);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fillbackground=%d", ic.fillbackground);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.filter=%d", ic.filter);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.gamma=%f", ic.gamma);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.hardwarecaps.capturepixtype=%d", ic.hardwarecaps.capturepixtype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.hardwarecaps.en_doublefeed=%d", ic.hardwarecaps.en_doublefeed);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.hsvcorrect=%d", ic.hsvcorrect);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.imageRotateDegree=%f", ic.imageRotateDegree);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.indent=%d", 5);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autocontrast=%d", ic.is_autocontrast);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autocrop=%d", ic.is_autocrop);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autodiscradblank_normal=%d", ic.is_autodiscradblank_normal);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autodiscradblank_vince=%d", ic.is_autodiscradblank_vince);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_autotext=%d", ic.is_autotext);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_backrotate180=%d", ic.is_backrotate180);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_convex=%d", ic.is_convex);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_duplex=%d", ic.is_duplex);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_switchfrontback=%d", ic.is_switchfrontback);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.is_dogeardetection=%d", ic.is_dogeardetection);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fillhole.multi_output_red=%d", ic.multi_output_red);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.noise=%d", ic.noise);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.pixtype=%d", ic.pixtype);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.resolution_dst=%f", ic.resolution_dst);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.resolution_native=%f", ic.resolution_native);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.scannum=%d", ic.scannum);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.sharpen=%d", ic.sharpen);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.discardblank_percent=%d", ic.discardblank_percent);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.is_detachnoise=%d", ic.detachnoise.is_detachnoise);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.detachnoise=%d\r ", ic.detachnoise.detachnoise);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.refuseInflow=%d\r ", ic.refuseInflow);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.detachnoise.refuseInflow=%d\r ", ic.refuseInflow);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.removeMorr=%d\r ", ic.removeMorr);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.errorExtention=%d\r ", ic.errorExtention);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.textureRemove=%d\r\n ", ic.refuseInflow);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fillhole.is_fillhole=%d\r\n ", ic.fillhole.is_fillhole);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.ic.fillhole.fillholeratio=%d\r\n ", ic.fillhole.fillholeratio);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.fadeback=%d\r\n ", ic.fadeback);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.enable=%d\r ", ic.cropRect.enable);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.width=%d\r\n ", ic.cropRect.width);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.height=%d\r\n ", ic.cropRect.height);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.x=%d\r\n ", ic.cropRect.x);
|
||||
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO, "\n ic.cropRect.y=%d\r\n ", ic.cropRect.y);
|
||||
|
||||
return ret;
|
||||
}
|
|
@ -401,7 +401,7 @@ int hg_scanner_400::writedown_device_configuration(bool type,setting_hardware::H
|
|||
d->params_3288.pageSize = setting3288dsp::G400_AUTO;
|
||||
}
|
||||
size = papersize.GetPaperSize(TwSS::A4, 200, img_conf_.paperAlign);
|
||||
dsp_config.params_3288.dstHeight = (int)((size.cy + 200) / 100);
|
||||
dsp_config.params_3288.dstHeight = (int)((size.cy + 200) / 100); //非安卓可不需要
|
||||
|
||||
USBCB usbcb = { setting3288dsp::CONFIGURED_DATA, d->value, 0 };
|
||||
len = sizeof(USBCB);
|
||||
|
|
Loading…
Reference in New Issue