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