diff --git a/hgdriver/ImageProcess/ImageApplyColorCastCorrect.cpp b/hgdriver/ImageProcess/ImageApplyColorCastCorrect.cpp index 00c4189..11675a6 100644 --- a/hgdriver/ImageProcess/ImageApplyColorCastCorrect.cpp +++ b/hgdriver/ImageProcess/ImageApplyColorCastCorrect.cpp @@ -41,6 +41,10 @@ CImageApplyColorCastCorrect::CImageApplyColorCastCorrect(PreScheme ps) points_x = { 0, 6, 11, 19, 37, 48, 66, 79, 89, 97, 108, 122, 138, 143, 147, 150, 158, 170, 199, 233, 248, 249, 250, 252 }; points_y = { 26, 31, 33, 36, 40, 44, 56, 92, 104, 114, 126, 135, 141, 143, 146, 151, 169, 198, 218, 227, 252, 266, 272, 276 }; break; + case CImageApplyColorCastCorrect::G300_7010: + points_x = { 1, 4, 6, 9, 13, 19, 23, 29, 40, 55, 72, 86, 97, 106, 117, 133, 143, 149, 155, 160, 170, 182, 206, 233 }; + points_y = { 252, 11, 17, 21, 26, 31, 33, 36, 40, 44, 56, 92, 104, 114, 126, 135, 141, 143, 146, 151, 169, 198, 218, 227 }; + break; default: points_x = { 0, 255 }; points_y = { 0, 255 }; diff --git a/hgdriver/ImageProcess/ImageApplyColorCastCorrect.h b/hgdriver/ImageProcess/ImageApplyColorCastCorrect.h index 8bae92e..0801c74 100644 --- a/hgdriver/ImageProcess/ImageApplyColorCastCorrect.h +++ b/hgdriver/ImageProcess/ImageApplyColorCastCorrect.h @@ -32,6 +32,7 @@ public: G200, G300, G300_D8, + G300_7010, G400_402, G400_3288, Android302 diff --git a/hgdriver/hgdev/hg_scanner.cpp b/hgdriver/hgdev/hg_scanner.cpp index 2d5c470..b0ea78b 100644 --- a/hgdriver/hgdev/hg_scanner.cpp +++ b/hgdriver/hgdev/hg_scanner.cpp @@ -1486,7 +1486,7 @@ bool hg_scanner::jsn_reorganize() if (firmware_sup_device_7010) { erase_option(SANE_STD_OPT_NAME_SIZE_CHECK); - erase_option(SANE_STD_OPT_NAME_COLOR_CORRECTION); + //erase_option(SANE_STD_OPT_NAME_COLOR_CORRECTION); erase_option(SANE_STD_OPT_NAME_LENS_DIRTY); erase_option(SANE_STD_OPT_NAME_DOUBLE_FEED_HANDLE); diff --git a/hgdriver/hgdev/image_process.cpp b/hgdriver/hgdev/image_process.cpp index bd9b5cd..8cefb47 100644 --- a/hgdriver/hgdev/image_process.cpp +++ b/hgdriver/hgdev/image_process.cpp @@ -1414,6 +1414,8 @@ namespace hg_imgproc int tmp = -1; CImageApplyColorCastCorrect::PreScheme deviceType = (CImageApplyColorCastCorrect::PreScheme)tmp; + if (param_.device_7010) + deviceType = CImageApplyColorCastCorrect::G300_7010; if (0x300 == pid_) { deviceType = CImageApplyColorCastCorrect::G300_D8; @@ -1430,6 +1432,7 @@ namespace hg_imgproc { deviceType = CImageApplyColorCastCorrect::Android302; } + CImageApplyColorCastCorrect ColorCastCorrect(deviceType); ColorCastCorrect.apply(mats, true);