调整除摩尔纹模式
This commit is contained in:
parent
f60edbd565
commit
07548a90f3
|
@ -214,17 +214,18 @@ void MultiFrameCapture::UpdateScanParam(HG_ScanConfiguration config)
|
|||
{
|
||||
video->HtCamSetSpTime2(fpgaparam.Sp * 3);
|
||||
}
|
||||
video->HtCamSetStSp(fpgaparam.MaxBright);
|
||||
|
||||
video->HtCamSetStSp(172);//172 是根据实际测试出来的图像质量得来
|
||||
|
||||
configFPGAParam(config_color, config_dpi);
|
||||
|
||||
{
|
||||
int val = config.params.dpi == 3 ? 600 :(config.params.dpi == 2?300:200);
|
||||
printf("val = %d\r\n",val);
|
||||
|
||||
//除摩尔纹模式
|
||||
if(config.params.slow_moire && config.params.dpi != 3)
|
||||
{
|
||||
int sp = fpgaparam.Sp - 538;
|
||||
int sp = fpgaparam.Sp + 232; //258 摩尔纹是400dpi 4677的高度
|
||||
|
||||
val = 400;
|
||||
video->HtCamSetSpTime(sp,49); // 2344 灰色 //2023-8-10 最新2650
|
||||
if (color_mode_)
|
||||
|
@ -1047,7 +1048,7 @@ void MultiFrameCapture::openDevice(int dpi, int mode)
|
|||
video->HtCamSetSpTime2(fpgaparam.Sp * 3);
|
||||
}
|
||||
|
||||
video->HtCamSetStSp(fpgaparam.MaxBright);
|
||||
video->HtCamSetStSp(172);
|
||||
|
||||
configFPGAParam(config_color, config_dpi);
|
||||
printf(" -----------------------resolution = %d config_color = %d config_dpi:%d------------------\r\n",resolution_, config_color,config_dpi);
|
||||
|
|
|
@ -97,24 +97,22 @@ Scanner::~Scanner()
|
|||
}
|
||||
|
||||
|
||||
void Scanner::updateSpeedMode(int speed)
|
||||
void Scanner::updateSpeedMode()
|
||||
{
|
||||
m_scaninfo = GetScanInfoFromJson();
|
||||
if(m_scaninfo.SpeedMode==0)
|
||||
m_scaninfo.SpeedMode=3;
|
||||
int sp = m_scaninfo.SpeedMode;
|
||||
if(sp == 0)
|
||||
sp = 3;
|
||||
|
||||
unsigned int t_dpi = m_config.params.dpi;
|
||||
|
||||
if(typeid(*capturer)==typeid(MultiFrameCapture))
|
||||
if(m_config.params.pageSize == 17 || m_config.params.pageSize == 19 ) //长文稿采用600dpi模式扫描
|
||||
t_dpi = 3;
|
||||
if (m_config.params.slow_moire) //摩尔纹使用300dpi进行采集
|
||||
{
|
||||
t_dpi = 2;
|
||||
}
|
||||
|
||||
motorCuozhi.speedChange(m_scaninfo.SpeedMode, t_dpi,m_config.params.isColor);
|
||||
motorZouzhi.speedChange(m_scaninfo.SpeedMode, t_dpi,m_config.params.isColor);
|
||||
if(m_config.params.pageSize == 17 || m_config.params.pageSize == 19 ) //长文稿采用600dpi模式扫描
|
||||
t_dpi = 3;
|
||||
if (m_config.params.slow_moire) //摩尔纹特殊处理
|
||||
t_dpi = sp = 16;
|
||||
|
||||
motorCuozhi.speedChange(sp, t_dpi,m_config.params.isColor);
|
||||
motorZouzhi.speedChange(sp, t_dpi,m_config.params.isColor);
|
||||
}
|
||||
|
||||
void Scanner::startScan()
|
||||
|
@ -123,7 +121,7 @@ void Scanner::startScan()
|
|||
threadRunScan.join();
|
||||
stop_countdown();
|
||||
this_thread::sleep_for(std::chrono::milliseconds(200));
|
||||
updateSpeedMode(4);
|
||||
updateSpeedMode();
|
||||
// //开始进行扫描
|
||||
threadRunScan = std::thread(&Scanner::runScan, this);
|
||||
}
|
||||
|
@ -261,13 +259,13 @@ void Scanner::runScan()
|
|||
int max = 7;
|
||||
|
||||
if(m_config.params.pageSize >= (int)PaperSize::G400_LONGLETTER)
|
||||
max = m_scaninfo.SpeedMode>3?10:25;
|
||||
max = m_scaninfo.SpeedMode > 3 ? 10 : 25;
|
||||
else
|
||||
max = m_scaninfo.SpeedMode>3?5:8;
|
||||
max = m_scaninfo.SpeedMode > 3 ? 5 : 8;
|
||||
|
||||
max = m_config.params.dpi > 2 ? 30 : max * m_config.params.dpi;
|
||||
|
||||
if(m_config.params.pageSize == 17 || m_config.params.pageSize == 19)
|
||||
if(m_config.params.pageSize == 17 || m_config.params.pageSize == 19 || m_config.params.slow_moire)
|
||||
{
|
||||
max = 200;
|
||||
}
|
||||
|
@ -330,7 +328,7 @@ void Scanner::runScan()
|
|||
}
|
||||
if(b_autosize)
|
||||
{
|
||||
int de = (5 - m_scaninfo.SpeedMode)*10*m_config.params.dpi;
|
||||
int de = (5 - m_scaninfo.SpeedMode) * 10 * m_config.params.dpi;
|
||||
if (de == 3)
|
||||
{
|
||||
de = 0;
|
||||
|
|
|
@ -179,7 +179,7 @@ public:
|
|||
}
|
||||
}
|
||||
printf(" UpdateScanInfo speed mode = %d \n",m_scaninfo.SpeedMode);
|
||||
updateSpeedMode(m_scaninfo.SpeedMode);
|
||||
updateSpeedMode();
|
||||
}
|
||||
CaptureParams GetCaptureParams()
|
||||
{
|
||||
|
@ -192,7 +192,7 @@ public:
|
|||
{
|
||||
return m_scaninfo;
|
||||
}
|
||||
void updateSpeedMode(int speed);
|
||||
void updateSpeedMode();
|
||||
void ResetCorrectflags() { m_correctting = false; }
|
||||
void StopScan(int Evt)
|
||||
{
|
||||
|
|
|
@ -404,19 +404,18 @@ void UsbScanner::UpdateScanInfo(int type, void *data)
|
|||
return;
|
||||
case USBCommand::SET_SPEED_MODE:
|
||||
if (*(unsigned int *)(data) > SPEED_MODE_MAX)
|
||||
{
|
||||
info.SpeedMode = 3;
|
||||
}
|
||||
else
|
||||
{
|
||||
info.SpeedMode = *(unsigned int *)(data);
|
||||
}
|
||||
|
||||
LOG("UsbScanner SET SpeedMode == %d------ \n", info.SpeedMode);
|
||||
|
||||
iter = mapFradme_SP.find(info.SpeedMode);
|
||||
if (iter != mapFradme_SP.end())
|
||||
info.FWVersion = iter->second.FWVERSIO;
|
||||
|
||||
SaveScaninfo(info);
|
||||
m_hgScanner->updateSpeedMode(info.SpeedMode);
|
||||
m_hgScanner->updateSpeedMode();
|
||||
LOG("UsbScanner SET SpeedMode == %d-------info.FWVersion = %s \n", info.SpeedMode, info.FWVersion.c_str());
|
||||
break;
|
||||
default:
|
||||
|
@ -501,7 +500,7 @@ void UsbScanner::mount_usb_device()
|
|||
mkdir functions/ffs.camtp\n \
|
||||
mkdir strings/0x409\n \
|
||||
mkdir configs/c.1/strings/0x409\n \
|
||||
echo 0x0300 > idProduct\n \
|
||||
echo 0x0306 > idProduct\n \
|
||||
echo 0x3072 > idVendor\n \
|
||||
echo \"01234567AABBCCDDEE\" > strings/0x409/serialnumber\n \
|
||||
echo \"Holdtecs Technologies\" > strings/0x409/manufacturer\n \
|
||||
|
|
Loading…
Reference in New Issue