parent
c338d36ce8
commit
50ac4f6cdf
|
@ -10,12 +10,9 @@ SUBDIRS += \
|
||||||
HGVersion \
|
HGVersion \
|
||||||
HGScannerLib \
|
HGScannerLib \
|
||||||
HGUpload \
|
HGUpload \
|
||||||
HGWebScan \
|
|
||||||
HGWebService \
|
HGWebService \
|
||||||
HGUpgrade \
|
HGUpgrade \
|
||||||
HGFWUpgrade \
|
HGFWUpgrade \
|
||||||
HGScanner \
|
|
||||||
HGOCR \
|
|
||||||
HGScanner2
|
HGScanner2
|
||||||
|
|
||||||
HGImgFmt.depends = \
|
HGImgFmt.depends = \
|
||||||
|
@ -46,11 +43,6 @@ HGScannerLib.depends = \
|
||||||
HGUpload.depends = \
|
HGUpload.depends = \
|
||||||
HGBase
|
HGBase
|
||||||
|
|
||||||
HGWebScan.depends = \
|
|
||||||
HGBase \
|
|
||||||
HGImgFmt \
|
|
||||||
HGImgProc
|
|
||||||
|
|
||||||
HGWebService.depends = \
|
HGWebService.depends = \
|
||||||
HGBase \
|
HGBase \
|
||||||
HGImgFmt \
|
HGImgFmt \
|
||||||
|
@ -66,21 +58,9 @@ HGFWUpgrade.depends = \
|
||||||
HGImgProc \
|
HGImgProc \
|
||||||
HGVersion
|
HGVersion
|
||||||
|
|
||||||
HGScanner.depends = \
|
|
||||||
HGBase \
|
|
||||||
HGImgFmt \
|
|
||||||
HGImgProc \
|
|
||||||
HGVersion
|
|
||||||
|
|
||||||
HGOCR.depends = \
|
|
||||||
HGBase \
|
|
||||||
HGImgFmt \
|
|
||||||
HGImgProc
|
|
||||||
|
|
||||||
HGScanner2.depends = \
|
HGScanner2.depends = \
|
||||||
HGBase \
|
HGBase \
|
||||||
HGImgFmt \
|
HGImgFmt \
|
||||||
HGImgProc \
|
HGImgProc \
|
||||||
HGVersion \
|
HGVersion \
|
||||||
HGSaneUser \
|
HGSaneUser
|
||||||
HGOCR
|
|
||||||
|
|
|
@ -9,12 +9,9 @@ SUBDIRS += \
|
||||||
HGVersion \
|
HGVersion \
|
||||||
HGScannerLib \
|
HGScannerLib \
|
||||||
HGUpload \
|
HGUpload \
|
||||||
HGWebScan \
|
|
||||||
HGWebService \
|
HGWebService \
|
||||||
HGUpgrade \
|
HGUpgrade \
|
||||||
HGFWUpgrade \
|
HGFWUpgrade \
|
||||||
HGScanner \
|
|
||||||
HGOCR \
|
|
||||||
HGScanner2
|
HGScanner2
|
||||||
|
|
||||||
HGImgFmt.depends = \
|
HGImgFmt.depends = \
|
||||||
|
@ -42,11 +39,6 @@ HGScannerLib.depends = \
|
||||||
HGUpload.depends = \
|
HGUpload.depends = \
|
||||||
HGBase
|
HGBase
|
||||||
|
|
||||||
HGWebScan.depends = \
|
|
||||||
HGBase \
|
|
||||||
HGImgFmt \
|
|
||||||
HGImgProc
|
|
||||||
|
|
||||||
HGWebService.depends = \
|
HGWebService.depends = \
|
||||||
HGBase \
|
HGBase \
|
||||||
HGImgFmt \
|
HGImgFmt \
|
||||||
|
@ -62,21 +54,9 @@ HGFWUpgrade.depends = \
|
||||||
HGImgProc \
|
HGImgProc \
|
||||||
HGVersion
|
HGVersion
|
||||||
|
|
||||||
HGScanner.depends = \
|
|
||||||
HGBase \
|
|
||||||
HGImgFmt \
|
|
||||||
HGImgProc \
|
|
||||||
HGVersion
|
|
||||||
|
|
||||||
HGOCR.depends = \
|
|
||||||
HGBase \
|
|
||||||
HGImgFmt \
|
|
||||||
HGImgProc
|
|
||||||
|
|
||||||
HGScanner2.depends = \
|
HGScanner2.depends = \
|
||||||
HGBase \
|
HGBase \
|
||||||
HGImgFmt \
|
HGImgFmt \
|
||||||
HGImgProc \
|
HGImgProc \
|
||||||
HGVersion \
|
HGVersion \
|
||||||
HGTwainUser \
|
HGTwainUser
|
||||||
HGOCR
|
|
||||||
|
|
|
@ -1380,10 +1380,11 @@ void hg_settingdialog::slot_gammaButtonClicked()
|
||||||
colorMode = 1;
|
colorMode = 1;
|
||||||
|
|
||||||
QList<QPoint> keyTable;
|
QList<QPoint> keyTable;
|
||||||
for (int i = 0; i < m_gammaData.pt_count; ++i)
|
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GRAY]; ++i)
|
||||||
{
|
{
|
||||||
QPoint pt(m_gammaData.keypoint[i].x, m_gammaData.keypoint[i].y);
|
uchar x = m_gammaData.pt_gray[i];
|
||||||
keyTable.append(pt);
|
uchar y = m_gammaData.table[256 * GAMMA_INDEX_GRAY + x];
|
||||||
|
keyTable.append(QPoint(x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!keyTable.empty())
|
if (!keyTable.empty())
|
||||||
|
@ -1396,31 +1397,35 @@ void hg_settingdialog::slot_gammaButtonClicked()
|
||||||
colorMode = 0;
|
colorMode = 0;
|
||||||
|
|
||||||
QList<QPoint> keyTable;
|
QList<QPoint> keyTable;
|
||||||
for (int i = 0; i < m_gammaData.pt_count; ++i)
|
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_COLOR]; ++i)
|
||||||
{
|
{
|
||||||
QPoint pt(m_gammaData.keypoint[i].x, m_gammaData.keypoint[i].y);
|
uchar x = m_gammaData.pt_color[i];
|
||||||
keyTable.append(pt);
|
uchar y = m_gammaData.table[256 * GAMMA_INDEX_COLOR + x];
|
||||||
|
keyTable.append(QPoint(x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QPoint> rKeyTable;
|
QList<QPoint> rKeyTable;
|
||||||
for (int i = 0; i < m_gammaData.pt_count_r; ++i)
|
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_RED]; ++i)
|
||||||
{
|
{
|
||||||
QPoint pt(m_gammaData.keypoint_r[i].x, m_gammaData.keypoint_r[i].y);
|
uchar x = m_gammaData.pt_red[i];
|
||||||
rKeyTable.append(pt);
|
uchar y = m_gammaData.table[256 * GAMMA_INDEX_RED + x];
|
||||||
|
rKeyTable.append(QPoint(x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QPoint> gKeyTable;
|
QList<QPoint> gKeyTable;
|
||||||
for (int i = 0; i < m_gammaData.pt_count_g; ++i)
|
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_GREEN]; ++i)
|
||||||
{
|
{
|
||||||
QPoint pt(m_gammaData.keypoint_g[i].x, m_gammaData.keypoint_g[i].y);
|
uchar x = m_gammaData.pt_green[i];
|
||||||
gKeyTable.append(pt);
|
uchar y = m_gammaData.table[256 * GAMMA_INDEX_GREEN + x];
|
||||||
|
gKeyTable.append(QPoint(x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QPoint> bKeyTable;
|
QList<QPoint> bKeyTable;
|
||||||
for (int i = 0; i < m_gammaData.pt_count_b; ++i)
|
for (int i = 0; i < m_gammaData.count[GAMMA_INDEX_BLUE]; ++i)
|
||||||
{
|
{
|
||||||
QPoint pt(m_gammaData.keypoint_b[i].x, m_gammaData.keypoint_b[i].y);
|
uchar x = m_gammaData.pt_blue[i];
|
||||||
bKeyTable.append(pt);
|
uchar y = m_gammaData.table[256 * GAMMA_INDEX_BLUE + x];
|
||||||
|
bKeyTable.append(QPoint(x, y));
|
||||||
}
|
}
|
||||||
|
|
||||||
QVector<QList<QPoint>> keyTableList;
|
QVector<QList<QPoint>> keyTableList;
|
||||||
|
@ -1451,85 +1456,68 @@ void hg_settingdialog::slot_gammaButtonClicked()
|
||||||
{
|
{
|
||||||
QList<QPoint> keyTable = dlg.getGrayKeyTable();
|
QList<QPoint> keyTable = dlg.getGrayKeyTable();
|
||||||
|
|
||||||
m_gammaData.pt_count = HGMIN(4, keyTable.size());
|
m_gammaData.count[GAMMA_INDEX_GRAY] = HGMIN(4, keyTable.size());
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (QPoint pt : keyTable)
|
for (QPoint pt : keyTable)
|
||||||
{
|
{
|
||||||
if (i >= 4)
|
if (i >= 4)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
m_gammaData.keypoint[i].x = pt.x();
|
m_gammaData.pt_gray[i] = pt.x();
|
||||||
m_gammaData.keypoint[i].y = pt.y();
|
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
uchar data[256];
|
dlg.getGrayTable(m_gammaData.table, 256);
|
||||||
dlg.getGrayTable(data, 256);
|
|
||||||
for (int i = 0; i < 256; ++i)
|
|
||||||
{
|
|
||||||
m_gammaData.table[i] = data[i];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
QVector<QList<QPoint>> keyTableList = dlg.getRGBKeyTable();
|
QVector<QList<QPoint>> keyTableList = dlg.getRGBKeyTable();
|
||||||
|
|
||||||
m_gammaData.pt_count = HGMIN(4, keyTableList[0].size());
|
m_gammaData.count[GAMMA_INDEX_COLOR] = HGMIN(4, keyTableList[0].size());
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (QPoint pt : keyTableList[0])
|
for (QPoint pt : keyTableList[0])
|
||||||
{
|
{
|
||||||
if (i >= 4)
|
if (i >= 4)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
m_gammaData.keypoint[i].x = pt.x();
|
m_gammaData.pt_color[i] = pt.x();
|
||||||
m_gammaData.keypoint[i].y = pt.y();
|
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_gammaData.pt_count_r = HGMIN(4, keyTableList[1].size());
|
m_gammaData.count[GAMMA_INDEX_RED] = HGMIN(4, keyTableList[1].size());
|
||||||
i = 0;
|
i = 0;
|
||||||
for (QPoint pt : keyTableList[1])
|
for (QPoint pt : keyTableList[1])
|
||||||
{
|
{
|
||||||
if (i >= 4)
|
if (i >= 4)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
m_gammaData.keypoint_r[i].x = pt.x();
|
m_gammaData.pt_red[i] = pt.x();
|
||||||
m_gammaData.keypoint_r[i].y = pt.y();
|
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_gammaData.pt_count_g = HGMIN(4, keyTableList[2].size());
|
m_gammaData.count[GAMMA_INDEX_GREEN] = HGMIN(4, keyTableList[2].size());
|
||||||
i = 0;
|
i = 0;
|
||||||
for (QPoint pt : keyTableList[2])
|
for (QPoint pt : keyTableList[2])
|
||||||
{
|
{
|
||||||
if (i >= 4)
|
if (i >= 4)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
m_gammaData.keypoint_g[i].x = pt.x();
|
m_gammaData.pt_green[i] = pt.x();
|
||||||
m_gammaData.keypoint_g[i].y = pt.y();
|
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_gammaData.pt_count_b = HGMIN(4, keyTableList[3].size());
|
m_gammaData.count[GAMMA_INDEX_BLUE] = HGMIN(4, keyTableList[3].size());
|
||||||
i = 0;
|
i = 0;
|
||||||
for (QPoint pt : keyTableList[3])
|
for (QPoint pt : keyTableList[3])
|
||||||
{
|
{
|
||||||
if (i >= 4)
|
if (i >= 4)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
m_gammaData.keypoint_b[i].x = pt.x();
|
m_gammaData.pt_blue[i] = pt.x();
|
||||||
m_gammaData.keypoint_b[i].y = pt.y();
|
|
||||||
++i;
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
uchar data[256 * 3];
|
dlg.getRGBTable(m_gammaData.table + 256, 256 * 4);
|
||||||
dlg.getRGBTable(data, 256 * 3);
|
|
||||||
for (int i = 0; i < 256; ++i)
|
|
||||||
{
|
|
||||||
m_gammaData.table[i] = data[i * 3 + 2];
|
|
||||||
m_gammaData.table[i + 256] = data[i * 3 + 1];
|
|
||||||
m_gammaData.table[i + 512] = data[i * 3 + 0];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QVector<int> type = dlg.getRgbAndColorType();
|
QVector<int> type = dlg.getRgbAndColorType();
|
||||||
|
|
|
@ -28,15 +28,18 @@ setPicClrTool::~setPicClrTool()
|
||||||
|
|
||||||
void setPicClrTool::getGrayTable(uchar *table, size_t length)
|
void setPicClrTool::getGrayTable(uchar *table, size_t length)
|
||||||
{
|
{
|
||||||
|
if (length != 256)
|
||||||
|
throw "length is not 256.";
|
||||||
|
|
||||||
QVector<int> gray = getGrayALLPoint();
|
QVector<int> gray = getGrayALLPoint();
|
||||||
for (size_t i = 0; i < length; i++)
|
for (size_t i = 0; i < 256; i++)
|
||||||
table[i] = static_cast<uchar>(gray[static_cast<int>(i)]);
|
table[i] = static_cast<uchar>(gray[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setPicClrTool::getRGBTable(uchar *table, size_t length)
|
void setPicClrTool::getRGBTable(uchar *table, size_t length)
|
||||||
{
|
{
|
||||||
if (length != 768)
|
if (length != 1024)
|
||||||
throw "length is not 768.";
|
throw "length is not 1024.";
|
||||||
|
|
||||||
QVector<int> rgb = getRgbALLPoint();
|
QVector<int> rgb = getRgbALLPoint();
|
||||||
QVector<int> red = getRedALLPoint();
|
QVector<int> red = getRedALLPoint();
|
||||||
|
@ -46,40 +49,13 @@ void setPicClrTool::getRGBTable(uchar *table, size_t length)
|
||||||
|
|
||||||
for (size_t i = 0; i < 256; i++)
|
for (size_t i = 0; i < 256; i++)
|
||||||
{
|
{
|
||||||
//if (i == 255)
|
table[i] = static_cast<uchar>(rgb[i]);
|
||||||
// int a = 0;
|
table[256 + i] = static_cast<uchar>(red[i]);
|
||||||
//table member order is B\G\R
|
table[256 * 2 + i] = static_cast<uchar>(green[i]);
|
||||||
table[i * 3 + 0] = static_cast<uchar>(blue[rgb[static_cast<int>(i)]]);
|
table[256 * 3 + i] = static_cast<uchar>(blue[i]);
|
||||||
table[i * 3 + 1] = static_cast<uchar>(green[rgb[static_cast<int>(i)]]);
|
|
||||||
table[i * 3 + 2] = static_cast<uchar>(red[rgb[static_cast<int>(i)]]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//void setPicClrTool::setGrayTable(const uchar *table, size_t length)
|
|
||||||
//{
|
|
||||||
// QVector<int> gray;
|
|
||||||
// for (size_t i = 0; i < length; i++)
|
|
||||||
// gray[static_cast<int>(i)] = int(table[i]);
|
|
||||||
// //ui->widget->setGrayALLPoint(gray);
|
|
||||||
//}
|
|
||||||
|
|
||||||
//void setPicClrTool::setRGBTable(const uchar *table, size_t length)
|
|
||||||
//{
|
|
||||||
// QVector<int> rgb;
|
|
||||||
// QVector<int> red;
|
|
||||||
// QVector<int> green;
|
|
||||||
// QVector<int> blue;
|
|
||||||
// for(int i = 0; i < 256; i++){
|
|
||||||
// rgb.append(i);
|
|
||||||
// }
|
|
||||||
// for (size_t i = 0; i < length; i++){
|
|
||||||
// red.append(int(table[i * 3 + 0]));
|
|
||||||
// green.append(int(table[i * 3 + 1]));
|
|
||||||
// blue.append(int(table[i * 3 + 2]));
|
|
||||||
// }
|
|
||||||
|
|
||||||
//}
|
|
||||||
|
|
||||||
void setPicClrTool::setColorMode(int colorMode)
|
void setPicClrTool::setColorMode(int colorMode)
|
||||||
{
|
{
|
||||||
QVariant v(6);
|
QVariant v(6);
|
||||||
|
|
|
@ -17,12 +17,7 @@ public:
|
||||||
~setPicClrTool();
|
~setPicClrTool();
|
||||||
|
|
||||||
void getGrayTable(uchar* table, size_t length = 256);
|
void getGrayTable(uchar* table, size_t length = 256);
|
||||||
|
void getRGBTable(uchar* table, size_t length = 1024);
|
||||||
void getRGBTable(uchar* table, size_t length = 768);
|
|
||||||
|
|
||||||
// void setGrayTable(const uchar* table, size_t length = 256);
|
|
||||||
|
|
||||||
// void setRGBTable(const uchar* table, size_t length = 768);
|
|
||||||
|
|
||||||
void setColorMode(int colorMode);
|
void setColorMode(int colorMode);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue