command yolo-label

This commit is contained in:
Yonghye Kwon 2022-08-29 22:52:31 +09:00
parent 160a8cc3e8
commit 520e6f8815
3 changed files with 60 additions and 3 deletions

View File

@ -4,7 +4,7 @@
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
QApplication a(argc, argv); QApplication a(argc, argv);
MainWindow w; MainWindow w(nullptr, argc, argv);
w.show(); w.show();
return a.exec(); return a.exec();
} }

View File

@ -16,7 +16,7 @@ using std::ofstream;
using std::ifstream; using std::ifstream;
using std::string; using std::string;
MainWindow::MainWindow(QWidget *parent) : MainWindow::MainWindow(QWidget *parent, int argc, char *argv[]) :
QMainWindow(parent), QMainWindow(parent),
ui(new Ui::MainWindow) ui(new Ui::MainWindow)
{ {
@ -34,6 +34,15 @@ MainWindow::MainWindow(QWidget *parent) :
connect(new QShortcut(QKeySequence(Qt::Key_Delete), this), SIGNAL(activated()), this, SLOT(remove_img())); connect(new QShortcut(QKeySequence(Qt::Key_Delete), this), SIGNAL(activated()), this, SLOT(remove_img()));
init_table_widget(); init_table_widget();
if(argc == 3)
{
std::cout << "Dataset Path: " << argv[1] << std::endl;
std::cout << "Label List File Path: " << argv[2] << std::endl;
open_img_dir(argv[1]);
open_obj_file(argv[2]);
init();
}
} }
MainWindow::~MainWindow() MainWindow::~MainWindow()
@ -334,6 +343,33 @@ void MainWindow::open_img_dir(bool& ret)
} }
} }
void MainWindow::open_img_dir(char* img_dir)
{
QString imgDir(img_dir);
QDir dir(imgDir);
QCollator collator;
collator.setNumericMode(true);
QStringList fileList = dir.entryList(
QStringList() << "*.jpg" << "*.JPG" << "*.png" << "*.bmp",
QDir::Files);
std::sort(fileList.begin(), fileList.end(), collator);
if(fileList.empty())
{
pjreddie_style_msgBox(QMessageBox::Critical,"Error", "This folder is empty");
}
else
{
m_imgDir = imgDir;
m_imgList = fileList;
for(QString& str: m_imgList)
str = m_imgDir + "/" + str;
}
}
void MainWindow::open_obj_file(bool& ret) void MainWindow::open_obj_file(bool& ret)
{ {
pjreddie_style_msgBox(QMessageBox::Information,"Help", "Step 2. Open Your Label List File(*.txt or *.names)"); pjreddie_style_msgBox(QMessageBox::Information,"Help", "Step 2. Open Your Label List File(*.txt or *.names)");
@ -360,6 +396,24 @@ void MainWindow::open_obj_file(bool& ret)
} }
} }
void MainWindow::open_obj_file(char* file)
{
QString opened_dir;
if(m_imgDir.size() > 0) opened_dir = m_imgDir;
else opened_dir = QDir::currentPath();
QString fileLabelList(file);
if(fileLabelList.size() == 0)
{
pjreddie_style_msgBox(QMessageBox::Critical,"Error", "LabelList file is not opened()");
}
else
{
load_label_list_data(fileLabelList);
}
}
void MainWindow::reupdate_img_list() void MainWindow::reupdate_img_list()
{ {

View File

@ -18,7 +18,7 @@ class MainWindow : public QMainWindow
Q_OBJECT Q_OBJECT
public: public:
explicit MainWindow(QWidget *parent = nullptr); explicit MainWindow(QWidget *parent = nullptr, int argc=0, char *argv[]=nullptr);
~MainWindow(); ~MainWindow();
private slots: private slots:
@ -71,6 +71,9 @@ private:
void open_img_dir(bool&); void open_img_dir(bool&);
void open_obj_file(bool&); void open_obj_file(bool&);
void open_img_dir(char *);
void open_obj_file(char *);
void reupdate_img_list(); void reupdate_img_list();
Ui::MainWindow *ui; Ui::MainWindow *ui;