all new yolo label
This commit is contained in:
parent
065e0a68ad
commit
748109d661
@ -2,6 +2,8 @@
|
||||
#include <QPainter>
|
||||
#include <QImageReader>
|
||||
#include <math.h> /* fabs */
|
||||
#include <algorithm>
|
||||
//#include <omp.h>
|
||||
|
||||
using std::ifstream;
|
||||
|
||||
@ -123,6 +125,7 @@ void label_img::openImage(const QString &qstrImg, bool &ret)
|
||||
|
||||
m_inputImg = img.copy();
|
||||
m_inputImg = m_inputImg.convertToFormat(QImage::Format_RGB888);
|
||||
m_resized_inputImg = m_inputImg.scaled(this->width(), this->height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
|
||||
|
||||
m_bLabelingStarted = false;
|
||||
|
||||
@ -143,10 +146,16 @@ void label_img::openImage(const QString &qstrImg, bool &ret)
|
||||
void label_img::showImage()
|
||||
{
|
||||
if(m_inputImg.isNull()) return;
|
||||
if(m_resized_inputImg.width() != this->width() or m_resized_inputImg.height() != this->height())
|
||||
{
|
||||
m_resized_inputImg = m_inputImg.scaled(this->width(), this->height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
|
||||
}
|
||||
|
||||
QImage imageOnUi = m_inputImg.scaled(this->width(), this->height(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
|
||||
QImage img = m_resized_inputImg;
|
||||
|
||||
QPainter painter(&imageOnUi);
|
||||
gammaTransform(img);
|
||||
|
||||
QPainter painter(&img);
|
||||
|
||||
int penThick = 3;
|
||||
|
||||
@ -156,7 +165,7 @@ void label_img::showImage()
|
||||
drawFocusedObjectBox(painter, Qt::magenta, penThick);
|
||||
drawObjectBoxes(painter, penThick);
|
||||
|
||||
this->setPixmap(QPixmap::fromImage(imageOnUi));
|
||||
this->setPixmap(QPixmap::fromImage(img));
|
||||
}
|
||||
|
||||
void label_img::loadLabelData(const QString& labelFilePath)
|
||||
@ -270,6 +279,31 @@ void label_img::drawObjectBoxes(QPainter& painter, int thickWidth)
|
||||
}
|
||||
}
|
||||
|
||||
void label_img::gammaTransform(QImage &image)
|
||||
{
|
||||
uchar* bits = image.bits();
|
||||
|
||||
int h = image.height();
|
||||
int w = image.width();
|
||||
|
||||
//#pragma omp parallel for collapse(2)
|
||||
for(int y = 0 ; y < h; ++y)
|
||||
{
|
||||
for(int x = 0; x < w; ++x)
|
||||
{
|
||||
int index_pixel = (y*w+x)*3;
|
||||
|
||||
unsigned char r = bits[index_pixel + 0];
|
||||
unsigned char g = bits[index_pixel + 1];
|
||||
unsigned char b = bits[index_pixel + 2];
|
||||
|
||||
bits[index_pixel + 0] = m_gammatransform_lut[r];
|
||||
bits[index_pixel + 1] = m_gammatransform_lut[g];
|
||||
bits[index_pixel + 2] = m_gammatransform_lut[b];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void label_img::removeFocusedObjectBox(QPointF point)
|
||||
{
|
||||
int removeBoxIdx = -1;
|
||||
@ -334,3 +368,14 @@ QPointF label_img::cvtAbsoluteToRelativePoint(QPoint p)
|
||||
{
|
||||
return QPointF(static_cast<double>(p.x()) / this->width(), static_cast<double>(p.y()) / this->height());
|
||||
}
|
||||
|
||||
void label_img::setContrastGamma(float gamma)
|
||||
{
|
||||
for(int i=0; i < 256; i++)
|
||||
{
|
||||
int s = (int)(pow((float)i/255., gamma) * 255.);
|
||||
s = std::clamp(s, 0, 255);
|
||||
m_gammatransform_lut[i] = (unsigned char)s;
|
||||
}
|
||||
showImage();
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public:
|
||||
|
||||
void setFocusObjectLabel(int);
|
||||
void setFocusObjectName(QString);
|
||||
|
||||
void setContrastGamma(float);
|
||||
|
||||
bool isOpened();
|
||||
QImage crop(QRect);
|
||||
@ -59,6 +59,7 @@ public:
|
||||
QPoint cvtRelativeToAbsolutePoint(QPointF);
|
||||
QPointF cvtAbsoluteToRelativePoint(QPoint);
|
||||
|
||||
|
||||
signals:
|
||||
void Mouse_Moved();
|
||||
void Mouse_Pressed();
|
||||
@ -72,16 +73,20 @@ private:
|
||||
double m_aspectRatioHeight;
|
||||
|
||||
QImage m_inputImg;
|
||||
QImage m_resized_inputImg;
|
||||
|
||||
QPointF m_relative_mouse_pos_in_ui;
|
||||
QPointF m_relatvie_mouse_pos_LBtnClicked_in_ui;
|
||||
|
||||
unsigned char m_gammatransform_lut[256];
|
||||
QVector<QRgb> colorTable;
|
||||
|
||||
void setMousePosition(int , int);
|
||||
|
||||
void drawCrossLine(QPainter& , QColor , int thickWidth = 3);
|
||||
void drawFocusedObjectBox(QPainter& , Qt::GlobalColor , int thickWidth = 3);
|
||||
void drawObjectBoxes(QPainter& , int thickWidth = 3);
|
||||
|
||||
void gammaTransform(QImage& image);
|
||||
void removeFocusedObjectBox(QPointF);
|
||||
};
|
||||
|
||||
|
@ -43,33 +43,36 @@ MainWindow::~MainWindow()
|
||||
void MainWindow::on_pushButton_open_files_clicked()
|
||||
{
|
||||
bool bRetImgDir = false;
|
||||
bool bRetObjFile = false;
|
||||
|
||||
open_img_dir(bRetImgDir);
|
||||
|
||||
if (!bRetImgDir) return ;
|
||||
|
||||
open_obj_file(bRetObjFile);
|
||||
|
||||
if (!bRetObjFile) return ;
|
||||
if (m_objList.empty())
|
||||
{
|
||||
bool bRetObjFile = false;
|
||||
open_obj_file(bRetObjFile);
|
||||
if (!bRetObjFile) return ;
|
||||
}
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
void MainWindow::on_pushButton_change_dir_clicked()
|
||||
{
|
||||
bool bRetImgDir = false;
|
||||
//void MainWindow::on_pushButton_change_dir_clicked()
|
||||
//{
|
||||
// bool bRetImgDir = false;
|
||||
|
||||
open_img_dir(bRetImgDir);
|
||||
// open_img_dir(bRetImgDir);
|
||||
|
||||
if (!bRetImgDir) return ;
|
||||
// if (!bRetImgDir) return ;
|
||||
|
||||
init();
|
||||
}
|
||||
// init();
|
||||
//}
|
||||
|
||||
|
||||
void MainWindow::init()
|
||||
{
|
||||
m_lastLabeledImgIndex = -1;
|
||||
|
||||
ui->label_image->init();
|
||||
|
||||
init_button_event();
|
||||
@ -89,7 +92,17 @@ void MainWindow::set_label_progress(const int fileIndex)
|
||||
|
||||
void MainWindow::set_focused_file(const int fileIndex)
|
||||
{
|
||||
ui->label_file->setText("File: " + m_imgList.at(fileIndex));
|
||||
QString str = "";
|
||||
|
||||
if(m_lastLabeledImgIndex >= 0)
|
||||
{
|
||||
str += "Last Labeled Image: " + m_imgList.at(m_lastLabeledImgIndex);
|
||||
str += '\n';
|
||||
}
|
||||
|
||||
str += "Current Image: " + m_imgList.at(fileIndex);
|
||||
|
||||
ui->textEdit_log->setText(str);
|
||||
}
|
||||
|
||||
void MainWindow::goto_img(const int fileIndex)
|
||||
@ -126,7 +139,7 @@ void MainWindow::prev_img(bool bSavePrev)
|
||||
goto_img(m_imgIndex - 1);
|
||||
}
|
||||
|
||||
void MainWindow::save_label_data()const
|
||||
void MainWindow::save_label_data()
|
||||
{
|
||||
if(m_imgList.size() == 0) return;
|
||||
|
||||
@ -139,21 +152,6 @@ void MainWindow::save_label_data()const
|
||||
{
|
||||
ObjectLabelingBox objBox = ui->label_image->m_objBoundingBoxes[i];
|
||||
|
||||
if(ui->checkBox_cropping->isChecked())
|
||||
{
|
||||
QImage cropped = ui->label_image->crop(ui->label_image->cvtRelativeToAbsoluteRectInImage(objBox.box));
|
||||
|
||||
if(!cropped.isNull())
|
||||
{
|
||||
string strImgFile = m_imgList.at(m_imgIndex).toStdString();
|
||||
|
||||
strImgFile = strImgFile.substr( strImgFile.find_last_of('/') + 1,
|
||||
strImgFile.find_last_of('.') - strImgFile.find_last_of('/') - 1);
|
||||
|
||||
cropped.save(QString().fromStdString(strImgFile) + "_cropped_" + QString::number(i) + ".png");
|
||||
}
|
||||
}
|
||||
|
||||
double midX = objBox.box.x() + objBox.box.width() / 2.;
|
||||
double midY = objBox.box.y() + objBox.box.height() / 2.;
|
||||
double width = objBox.box.width();
|
||||
@ -169,10 +167,8 @@ void MainWindow::save_label_data()const
|
||||
fileOutputLabelData << " ";
|
||||
fileOutputLabelData << std::fixed << std::setprecision(6) << height << std::endl;
|
||||
}
|
||||
|
||||
m_lastLabeledImgIndex = m_imgIndex;
|
||||
fileOutputLabelData.close();
|
||||
|
||||
ui->textEdit_log->setText(qstrOutputLabelData + " saved.");
|
||||
}
|
||||
}
|
||||
|
||||
@ -408,15 +404,15 @@ void MainWindow::keyPressEvent(QKeyEvent * event)
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::on_pushButton_save_clicked()
|
||||
{
|
||||
save_label_data();
|
||||
}
|
||||
//void MainWindow::on_pushButton_save_clicked()
|
||||
//{
|
||||
// save_label_data();
|
||||
//}
|
||||
|
||||
void MainWindow::on_pushButton_remove_clicked()
|
||||
{
|
||||
remove_img();
|
||||
}
|
||||
//void MainWindow::on_pushButton_remove_clicked()
|
||||
//{
|
||||
// remove_img();
|
||||
//}
|
||||
|
||||
void MainWindow::on_tableWidget_label_cellDoubleClicked(int row, int column)
|
||||
{
|
||||
@ -447,11 +443,7 @@ void MainWindow::on_horizontalSlider_images_sliderMoved(int position)
|
||||
|
||||
void MainWindow::init_button_event()
|
||||
{
|
||||
ui->pushButton_change_dir->setEnabled(true);
|
||||
ui->pushButton_next->setEnabled(true);
|
||||
ui->pushButton_prev->setEnabled(true);
|
||||
ui->pushButton_save->setEnabled(true);
|
||||
ui->pushButton_remove->setEnabled(true);
|
||||
// ui->pushButton_change_dir->setEnabled(true);
|
||||
}
|
||||
|
||||
void MainWindow::init_horizontal_slider()
|
||||
@ -461,6 +453,12 @@ void MainWindow::init_horizontal_slider()
|
||||
ui->horizontalSlider_images->blockSignals(true);
|
||||
ui->horizontalSlider_images->setValue(0);
|
||||
ui->horizontalSlider_images->blockSignals(false);
|
||||
|
||||
ui->horizontalSlider_contrast->setEnabled(true);
|
||||
ui->horizontalSlider_contrast->setRange(0, 1000);
|
||||
ui->horizontalSlider_contrast->setValue(ui->horizontalSlider_contrast->maximum()/2);
|
||||
ui->label_image->setContrastGamma(1.0);
|
||||
ui->label_contrast->setText(QString("Contrast(%) ") + QString::number(50));
|
||||
}
|
||||
|
||||
void MainWindow::init_table_widget()
|
||||
@ -471,3 +469,12 @@ void MainWindow::init_table_widget()
|
||||
|
||||
disconnect(ui->tableWidget_label->horizontalHeader(), SIGNAL(sectionPressed(int)),ui->tableWidget_label, SLOT(selectColumn(int)));
|
||||
}
|
||||
|
||||
void MainWindow::on_horizontalSlider_contrast_sliderMoved(int value)
|
||||
{
|
||||
float valueToPercentage = float(value)/ui->horizontalSlider_contrast->maximum(); //[0, 1.0]
|
||||
float percentageToGamma = pow(1/(valueToPercentage + 0.5), 7.);
|
||||
|
||||
ui->label_image->setContrastGamma(percentageToGamma);
|
||||
ui->label_contrast->setText(QString("Contrast(%) ") + QString::number(int(valueToPercentage * 100.)));
|
||||
}
|
||||
|
12
mainwindow.h
12
mainwindow.h
@ -23,9 +23,9 @@ public:
|
||||
|
||||
private slots:
|
||||
void on_pushButton_open_files_clicked();
|
||||
void on_pushButton_change_dir_clicked();
|
||||
void on_pushButton_save_clicked();
|
||||
void on_pushButton_remove_clicked();
|
||||
// void on_pushButton_change_dir_clicked();
|
||||
// void on_pushButton_save_clicked();
|
||||
// void on_pushButton_remove_clicked();
|
||||
|
||||
void on_pushButton_prev_clicked();
|
||||
void on_pushButton_next_clicked();
|
||||
@ -34,7 +34,7 @@ private slots:
|
||||
|
||||
void next_img(bool bSavePrev = true);
|
||||
void prev_img(bool bSavePrev = true);
|
||||
void save_label_data() const;
|
||||
void save_label_data();
|
||||
void clear_label_data();
|
||||
void remove_img();
|
||||
|
||||
@ -46,6 +46,8 @@ private slots:
|
||||
|
||||
void on_horizontalSlider_images_sliderMoved(int );
|
||||
|
||||
void on_horizontalSlider_contrast_sliderMoved(int value);
|
||||
|
||||
private:
|
||||
void init();
|
||||
void init_table_widget();
|
||||
@ -79,6 +81,8 @@ private:
|
||||
|
||||
QStringList m_objList;
|
||||
int m_objIndex;
|
||||
int m_lastDeletedImgIndex;
|
||||
int m_lastLabeledImgIndex;
|
||||
|
||||
protected:
|
||||
void wheelEvent(QWheelEvent *);
|
||||
|
708
mainwindow.ui
708
mainwindow.ui
@ -6,20 +6,20 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1528</width>
|
||||
<height>953</height>
|
||||
<width>1180</width>
|
||||
<height>693</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>1400</width>
|
||||
<height>920</height>
|
||||
<width>1180</width>
|
||||
<height>640</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
@ -39,206 +39,205 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="centralWidget">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>1363</width>
|
||||
<height>867</height>
|
||||
<width>1180</width>
|
||||
<height>610</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>16777215</height>
|
||||
<width>165555</width>
|
||||
<height>165555</height>
|
||||
</size>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_file">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>1275</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>13</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color : rgb(255, 187, 0);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>File:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="label_img" name="label_image">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>1280</width>
|
||||
<height>720</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>18</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>CrossCursor</cursorShape>
|
||||
</property>
|
||||
<property name="mouseTracking">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLabel { background-color : rgb(0, 0, 17); color : rgb(187, 255, 254);
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="label_img" name="label_image">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>540</width>
|
||||
<height>360</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>18</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>CrossCursor</cursorShape>
|
||||
</property>
|
||||
<property name="mouseTracking">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">QLabel { background-color : rgb(0, 0, 17); color : rgb(187, 255, 254);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);}
|
||||
|
||||
</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="lineWidth">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Open Data Set Directory...</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>label_image</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="lineWidth">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>Open a Dataset Directory...</p><p>D: Next Image</p><p>A: Prev Image</p><p><br/>Ctrl + S: Save</p><p>Ctrl + D: Delete an Image<br/></p></body></html></string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
<property name="margin">
|
||||
<number>-1</number>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>label_image</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3"/>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QSlider" name="horizontalSlider_contrast">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>1</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>560</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>42</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">
|
||||
QSlider::groove:horizontal {
|
||||
border: 1px solid #999999;
|
||||
height: 8px; /* the groove expands to the size of the slider by default. by giving it a height, it has a fixed size */
|
||||
background: rgb(0, 255, 255);
|
||||
margin: 2px 0;
|
||||
}
|
||||
|
||||
|
||||
QSlider::handle:horizontal {
|
||||
background: rgb(255, 187, 0);
|
||||
border: 1px solid #5c5c5c;
|
||||
width: 18px;
|
||||
margin: -10px 0; /* handle is placed by default on the contents rect of the groove. Expand outside the groove */
|
||||
border-radius: 3px;
|
||||
}
|
||||
</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="pageStep">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="tracking">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_contrast">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>160</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>42</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Arial</family>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color : rgb(0, 0, 17);color : rgb(0, 255, 255);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="lineWidth">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Contrast</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_prev">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>75</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color : rgb(0, 0, 17);color : rgb(0, 255, 255);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Prev</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_next">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>75</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color : rgb(0, 0, 17);color : rgb(0, 255, 255);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Next</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string>Del</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSlider" name="horizontalSlider_images">
|
||||
<property name="enabled">
|
||||
@ -252,12 +251,18 @@ border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>881</width>
|
||||
<width>560</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>42</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::ClickFocus</enum>
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">
|
||||
@ -302,12 +307,20 @@ QSlider::handle:horizontal {
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>211</width>
|
||||
<height>21</height>
|
||||
<width>160</width>
|
||||
<height>23</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>42</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Arial</family>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
@ -335,23 +348,37 @@ border-color: rgb(0, 255, 255);</string>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_open_files">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>91</height>
|
||||
<width>160</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>91</height>
|
||||
<width>200</width>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="baseSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>0</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Arial</family>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
<kerning>true</kerning>
|
||||
@ -378,112 +405,29 @@ border-color: rgb(0, 255, 255);</string>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_change_dir">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<widget class="QTextEdit" name="textEdit_log">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>91</height>
|
||||
<width>560</width>
|
||||
<height>25</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>91</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color : rgb(0, 0, 17);color : rgb(0, 255, 255);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Change Directory</string>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_save">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>91</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>91</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color : rgb(0, 0, 17);color : rgb(0, 255, 255);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="autoDefault">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="default">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="pushButton_remove">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>91</height>
|
||||
<height>60</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>Arial</family>
|
||||
<pointsize>12</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
@ -497,177 +441,29 @@ border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Remove</string>
|
||||
<property name="tabChangesFocus">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="html">
|
||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Arial'; font-size:12pt; font-weight:600; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Gulim'; font-size:9pt;">Last Labeled Image:<br />Current Image:</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="checkBox_cropping">
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>21</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>100</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="cursor">
|
||||
<cursorShape>ArrowCursor</cursorShape>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color : rgb(0, 0, 17);color : rgb(0, 255, 255);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>with crop</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_log">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>41</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>15</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<italic>false</italic>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">color : rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Log</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTextEdit" name="textEdit_log">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>545</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>70</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="focusPolicy">
|
||||
<enum>Qt::NoFocus</enum>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true">background-color : rgb(0, 0, 17);color : rgb(0, 255, 255);
|
||||
border-style: outset;
|
||||
border-width: 2px;
|
||||
border-color: rgb(0, 255, 255);</string>
|
||||
</property>
|
||||
<property name="tabChangesFocus">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_table_widget_padding">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>220</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>220</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>13</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget_label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
@ -675,12 +471,12 @@ border-color: rgb(0, 255, 255);</string>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>220</width>
|
||||
<height>851</height>
|
||||
<height>360</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>220</width>
|
||||
<width>330</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
@ -744,12 +540,12 @@ QTableView {
|
||||
<attribute name="horizontalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderHighlightSections">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||
<number>40</number>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderHighlightSections">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
||||
<bool>true</bool>
|
||||
</attribute>
|
||||
@ -786,8 +582,8 @@ QTableView {
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1528</width>
|
||||
<height>23</height>
|
||||
<width>1180</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
|
Loading…
Reference in New Issue
Block a user