调整 因为G306 app导致 取图效率变低
This commit is contained in:
parent
0d2c7d79f7
commit
e7608d308d
|
@ -256,7 +256,7 @@ void hg_scanner_306::thread_handle_usb_read(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this_thread::sleep_for(chrono::milliseconds(10));
|
//this_thread::sleep_for(chrono::milliseconds(10));
|
||||||
|
|
||||||
if (SCANNER_ERR_DEVICE_NOT_FOUND == ret)
|
if (SCANNER_ERR_DEVICE_NOT_FOUND == ret)
|
||||||
{
|
{
|
||||||
|
@ -538,6 +538,99 @@ int hg_scanner_306::get_img_data_7010()
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int hg_scanner_306::get_img_data_7010_test()
|
||||||
|
{
|
||||||
|
int ret = SCANNER_ERR_OK;
|
||||||
|
|
||||||
|
USBCB usb{ setting3288dsp::GET_IMAGE, 0, 0 };
|
||||||
|
{
|
||||||
|
setting3288dsp::HG_JpegCompressInfo info;
|
||||||
|
StopWatch sw;
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> lock(io_lock_);
|
||||||
|
ret = writeusb(usb);
|
||||||
|
|
||||||
|
io_->set_timeout(1000);
|
||||||
|
sw.reset();
|
||||||
|
int len = sizeof(info);
|
||||||
|
ret = io_->read_bulk(&info, &len);
|
||||||
|
|
||||||
|
//if (info.first_frame)
|
||||||
|
//{
|
||||||
|
// frame_length_ = info.DataLength;
|
||||||
|
// frame_width_ = info.width;
|
||||||
|
// frame_hegiht_ = info.height;
|
||||||
|
// first_frame_total_ = info.index_frame;
|
||||||
|
// jpgdata_.clear();
|
||||||
|
// jpgdata_.resize(frame_width_ * frame_hegiht_ * first_frame_total_);
|
||||||
|
// index_ = 0;
|
||||||
|
//}
|
||||||
|
if (info.last_frame)
|
||||||
|
{
|
||||||
|
//return 0;
|
||||||
|
std::vector<unsigned char> data_;
|
||||||
|
data_.resize(frame_length_);
|
||||||
|
ret = io_->read_bulk(&data_[0], &frame_length_);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
frame_length_ = info.DataLength;
|
||||||
|
|
||||||
|
std::vector<unsigned char> data_;
|
||||||
|
data_.resize(frame_length_);
|
||||||
|
ret = io_->read_bulk(&data_[0], &frame_length_);
|
||||||
|
|
||||||
|
//i++;
|
||||||
|
//cv::ImreadModes rmc = cv::IMREAD_GRAYSCALE;
|
||||||
|
//cv::Mat mat = cv::imdecode(data_, rmc);//color BGR
|
||||||
|
//JpegDecode_.Put(mat,mat.cols * mat.rows);
|
||||||
|
//cv::imwrite("C:\\image\\imdecode" + std::to_string(i) + ".jpg", mat);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (info.last_frame)
|
||||||
|
{
|
||||||
|
//return 0;
|
||||||
|
if (info.error_code)
|
||||||
|
{
|
||||||
|
std::vector<unsigned char>().swap(jpgdata_); //回收空间 clear只能清空元素
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//if (true)
|
||||||
|
//{
|
||||||
|
// cv::ImreadModes rmc = cv::IMREAD_GRAYSCALE;
|
||||||
|
// cv::Mat mat = cv::imdecode(jpgdata_, rmc);//color BGR
|
||||||
|
// cv::imwrite("C:\\image\\imdecode" + std::to_string(1) + ".jpg", mat);
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
int frame_ind = first_frame_total_ - last_frame_total_;
|
||||||
|
if (frame_ind < 0)
|
||||||
|
{
|
||||||
|
frame_ind = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mat_width = frame_width_;
|
||||||
|
mat_height = (frame_hegiht_ * first_frame_total_) - (frame_hegiht_ * frame_ind);
|
||||||
|
std::shared_ptr<tiny_buffer> image_data_(aquire_memory(mat_width * mat_height));
|
||||||
|
|
||||||
|
unsigned int size1 = mat_height;
|
||||||
|
void* l = image_data_->data(0, &size1);
|
||||||
|
memcpy(l, jpgdata_.data(), mat_width * mat_height);
|
||||||
|
|
||||||
|
ret = save_usb_data(image_data_);
|
||||||
|
index_ = 0;
|
||||||
|
|
||||||
|
std::vector<unsigned char>().swap(jpgdata_); //回收空间 clear只能清空元素
|
||||||
|
|
||||||
|
}
|
||||||
|
float v = sw.elapsed_ms();
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
int hg_scanner_306::writedown_device_configuration(bool type,setting_hardware::HGSCANCONF_7010 *d)
|
int hg_scanner_306::writedown_device_configuration(bool type,setting_hardware::HGSCANCONF_7010 *d)
|
||||||
{
|
{
|
||||||
if (!type)
|
if (!type)
|
||||||
|
@ -576,7 +669,7 @@ int hg_scanner_306::writedown_device_configuration(bool type,setting_hardware::H
|
||||||
VLOG_MINI_1(LOG_LEVEL_WARNING, "writedown_device_configuration is_quality_ is .(%d)\n", is_quality_)
|
VLOG_MINI_1(LOG_LEVEL_WARNING, "writedown_device_configuration is_quality_ is .(%d)\n", is_quality_)
|
||||||
d->params_7010.dpi = 1;
|
d->params_7010.dpi = 1;
|
||||||
}
|
}
|
||||||
if (image_prc_param_.bits.remove_morr && firmware_sup_morr_)
|
if (image_prc_param_.bits.remove_morr && firmware_sup_morr_ && resolution_ < 600)
|
||||||
{
|
{
|
||||||
d->params_7010.moire = true;
|
d->params_7010.moire = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,6 +71,8 @@ private:
|
||||||
/* 注意事项3:7010最后一帧主要作用是反馈当前纸张问题状态码 error_code */
|
/* 注意事项3:7010最后一帧主要作用是反馈当前纸张问题状态码 error_code */
|
||||||
/************************************************************************/
|
/************************************************************************/
|
||||||
int get_img_data_7010();
|
int get_img_data_7010();
|
||||||
|
int get_img_data_7010_test();
|
||||||
|
|
||||||
/*********************获取校正数据***************/
|
/*********************获取校正数据***************/
|
||||||
/* inx:序号 */
|
/* inx:序号 */
|
||||||
/* dpi:1--->200dpi 2--->300dpi 3--->600dpi */
|
/* dpi:1--->200dpi 2--->300dpi 3--->600dpi */
|
||||||
|
|
Loading…
Reference in New Issue