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