mirror of http://192.168.1.51:8099/lmh188/twain3.0
解决答题卡除红灰度出彩色图问题
This commit is contained in:
parent
790e085592
commit
f4be6bcdb3
|
@ -131,7 +131,7 @@ void ImageMatQueue::setparam(const GScanCap& param)
|
||||||
+ "\n imageRotateDegree : " + to_string(scanParam.imageRotateDegree) + "\n is_autocrop : " + to_string(scanParam.is_autocrop) + "\n is_autodiscradblank_normal : " + to_string(scanParam.is_autodiscradblank_normal) + "\n is_autodiscradblank_vince : " + to_string(scanParam.is_autodiscradblank_vince)
|
+ "\n imageRotateDegree : " + to_string(scanParam.imageRotateDegree) + "\n is_autocrop : " + to_string(scanParam.is_autocrop) + "\n is_autodiscradblank_normal : " + to_string(scanParam.is_autodiscradblank_normal) + "\n is_autodiscradblank_vince : " + to_string(scanParam.is_autodiscradblank_vince)
|
||||||
+ "\n is_autotext : " + to_string(scanParam.is_autotext) + "\n is_backrotate180 : " + to_string(scanParam.is_backrotate180) + "\n is_duplex : " + to_string(scanParam.is_duplex) + "\n is_switchfrontback : " + to_string(scanParam.is_switchfrontback) + "\n multi_output_red : " + to_string(scanParam.multi_output_red)
|
+ "\n is_autotext : " + to_string(scanParam.is_autotext) + "\n is_backrotate180 : " + to_string(scanParam.is_backrotate180) + "\n is_duplex : " + to_string(scanParam.is_duplex) + "\n is_switchfrontback : " + to_string(scanParam.is_switchfrontback) + "\n multi_output_red : " + to_string(scanParam.multi_output_red)
|
||||||
+ "\n paperAlign : " + to_string(scanParam.paperAlign) + "\n papertype : " + to_string(scanParam.papertype) + "\n resolution_dst : " + to_string(scanParam.resolution_dst) + "\n scannum : " + to_string(scanParam.scannum) + "\n sharpen : " + to_string(scanParam.sharpen)+
|
+ "\n paperAlign : " + to_string(scanParam.paperAlign) + "\n papertype : " + to_string(scanParam.papertype) + "\n resolution_dst : " + to_string(scanParam.resolution_dst) + "\n scannum : " + to_string(scanParam.scannum) + "\n sharpen : " + to_string(scanParam.sharpen)+
|
||||||
"Pixtype : "+to_string(scanParam.pixtype);
|
"\n Pixtype : "+to_string(scanParam.pixtype);
|
||||||
FileTools::write_log("2.txt", outinfo);
|
FileTools::write_log("2.txt", outinfo);
|
||||||
#endif // DEBUG
|
#endif // DEBUG
|
||||||
|
|
||||||
|
@ -142,10 +142,8 @@ void ImageMatQueue::setparam(const GScanCap& param)
|
||||||
} //确保能够获取正反两面图
|
} //确保能够获取正反两面图
|
||||||
|
|
||||||
{
|
{
|
||||||
bool islongcustomcrop = false;
|
bool islongcustomcrop = param.papertype == TwSS::USStatement;
|
||||||
if (param.papertype == TwSS::USStatement)
|
//bool isautocrop = param.papertype == TwSS::None;
|
||||||
islongcustomcrop = true;
|
|
||||||
|
|
||||||
CSize fixedSize;
|
CSize fixedSize;
|
||||||
#ifdef REAL300DPI
|
#ifdef REAL300DPI
|
||||||
fixedSize = papersize.GetPaperSize(param.papertype, param.resolution_dst > 240.0f ? 300.0f : 200.0f, param.paperAlign);
|
fixedSize = papersize.GetPaperSize(param.papertype, param.resolution_dst > 240.0f ? 300.0f : 200.0f, param.paperAlign);
|
||||||
|
@ -317,13 +315,11 @@ void ImageMatQueue::proc()
|
||||||
|
|
||||||
if (scanParam.is_switchfrontback)
|
if (scanParam.is_switchfrontback)
|
||||||
swap(mats[0], mats[1]);
|
swap(mats[0], mats[1]);
|
||||||
//StopWatch sw;
|
|
||||||
for (int j = 0; j < m_iaList.size(); j++) {
|
for (int j = 0; j < m_iaList.size(); j++) {
|
||||||
m_iaList[j]->apply(mats, scanParam.is_duplex);
|
m_iaList[j]->apply(mats, scanParam.is_duplex);
|
||||||
//FileTools::write_log("E:\\Users\\huago\\Desktop\\3.txt", "image proc "+std::to_string(j)+" time eplsed: " + std::to_string(sw.elapsed_ms()));
|
|
||||||
//sw.reset();
|
|
||||||
}
|
}
|
||||||
//FileTools::write_log("E:\\Users\\huago\\Desktop\\2.txt", "image proc time eplsed: " + std::to_string(sw.elapsed_ms()));
|
|
||||||
|
|
||||||
for (int i = 0; i < mats.size(); i++) {
|
for (int i = 0; i < mats.size(); i++) {
|
||||||
if (!scanParam.is_duplex && i == 1) {
|
if (!scanParam.is_duplex && i == 1) {
|
||||||
|
@ -332,6 +328,9 @@ void ImageMatQueue::proc()
|
||||||
}
|
}
|
||||||
if (!mats[i].empty()) {
|
if (!mats[i].empty()) {
|
||||||
IMat2Bmp idata;
|
IMat2Bmp idata;
|
||||||
|
if (scanParam.pixtype == 1 && scanParam.hsvcorrect)
|
||||||
|
if (mats[i].channels() == 3)
|
||||||
|
cvtColor(mats[i], mats[i], cv::COLOR_BGR2GRAY);
|
||||||
idata = scanParam.pixtype == 0 ? (IMat2Bmp)Mat2BmpBw(mats[i], scanParam.resolution_dst) : Mat2Bmp(mats[i], scanParam.resolution_dst);
|
idata = scanParam.pixtype == 0 ? (IMat2Bmp)Mat2BmpBw(mats[i], scanParam.resolution_dst) : Mat2Bmp(mats[i], scanParam.resolution_dst);
|
||||||
auto data = idata.getBmpDataBuffer();
|
auto data = idata.getBmpDataBuffer();
|
||||||
EnqueueBmpBuffer(data);
|
EnqueueBmpBuffer(data);
|
||||||
|
|
Loading…
Reference in New Issue