void RSImageBlockWidget::addButtonAction(const QString &text, const QObject *receiver, const char *member, bool standardAction) { QMenu *menu = ui->loadImagesButton->menu(); if (!menu) { /* Set popup mode */ ui->loadImagesButton->setPopupMode(QToolButton::MenuButtonPopup); ui->loadImagesButton->setIcon(ui->loadImagesButton->icon()); // Sometimes Qt doesn't recalculate sizeHint /* Create popup menu */ menu = new QMenu; ui->loadImagesButton->setMenu(menu); /* Add 'click' action as action */ QAction *action = menu->addAction(ui->loadImagesButton->text(), this, SIGNAL(showImages())); menu->setDefaultAction(action); } /* Add new action */ QAction *action = menu->addAction(text, receiver, member); ui->loadImagesButton->addAction(action); if (standardAction) { /* Connect standard action */ connect(action, SIGNAL(triggered()), this, SIGNAL(showImages())); } }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), first(true) { ui->setupUi(this); directories << "/home/schvarcz/Desktop/balance_test/original/" << "/home/schvarcz/Desktop/balance_test/colorEnhanced/" << "/home/schvarcz/Desktop/balance_test/whiteBalance/"; savePath = "/home/schvarcz/Desktop/balance_test/selected/"; editPath = "/home/schvarcz/Desktop/balance_test/editar/"; diretory.mkdir(savePath); diretory.mkdir(editPath); diretory.setPath(savePath); listImgsProcessed = diretory.entryList(QStringList("*.jpg")); diretory.setPath(directories.at(0)); listImgs = diretory.entryList(QStringList("*.jpg")); aniImgTrans = new QPropertyAnimation(ui->imgWidget,"geometry"); aniImgTrans->setDuration(300); aniImgFade = new QPropertyAnimation(ui->imgAux,"geometry"); aniImgFade->setDuration(300); currentIndex = listImgsProcessed.size(); currentDirectory = 0; showImages(0); }
void MainWindow::backwardSelected() { if (currentDirectory > 0) { currentDirectory--; showImages(2); } }
void MainWindow::fordwardSelected() { if (currentDirectory < directories.size()-1) { currentDirectory++; showImages(1); } }
void PlaylistModel::removeSelectedItem() { QModelIndexList list = slct->selectedRows(); if (list.empty()) return; int c = 0; for (auto iter = list.cbegin(); iter != list.cend(); ++iter) { int row = (*iter).row(); if (row < img_index) c++; delete files[row]; files[row] = nullptr; } bool contain = (files[currentIndex(0)] == nullptr || (countShowImages() > 1 && files[currentIndex(1)] == nullptr)); for (int i = 0; i < files.count(); ) { if (files[i] == nullptr) { beginRemoveRows(QModelIndex(), i, i); files.remove(i); endRemoveRows(); } else { i++; } } if (empty()) { dataChangeNotice(-1, 0); showImages(); } else { dataChangeNotice(img_index - c, countShowImages()); if (contain) showImages(); } emit changePlaylistStatus(); }
void RSTextBrowser::setImageBlockWidget(RSImageBlockWidget *widget) { if (mImageBlockWidget) { // disconnect disconnect(mImageBlockWidget, SIGNAL(destroyed()), this, SLOT(destroyImageBlockWidget())); disconnect(mImageBlockWidget, SIGNAL(showImages()), this, SLOT(showImages())); } mImageBlockWidget = widget; if (mImageBlockWidget) { // connect connect(mImageBlockWidget, SIGNAL(destroyed()), this, SLOT(destroyImageBlockWidget())); connect(mImageBlockWidget, SIGNAL(showImages()), this, SLOT(showImages())); } resetImagesStatus(false); }
void PlaylistModel::showSelectedItem() { QModelIndexList list = slct->selectedRows(); if (list.empty()) return; dataChangeNotice(list[0].row(), img_num); showImages(); emit changePlaylistStatus(); }
void MainWindow::back() { if (currentIndex > 0) { currentIndex--; QFile::remove(savePath+listImgs.at(currentIndex)); QFile::remove(editPath+listImgs.at(currentIndex)); showImages(4); } }
void PlaylistModel::openImages(const QStringList &path) { bool req_refresh = (count() < 2); int c = openFilesAndDirs(path, getOpenDirLevel()); if (req_refresh && !empty()) { dataChangeNotice(0, 0); showImages(); } if (c > 0) emit changePlaylistStatus(); }
bool MgrStereoHand::init(){ initWindows(); drawingModule = new DrawingModule; fs = new FrameStorage; fs->initFrames(); calibModule = new CalibrationModule; process = new ProcessingThread; process->init(fs, calibModule, calibDialog, statisticsDialog); calibDialog->init(calibModule); realProcessingThead = new QThread(); process->moveToThread(realProcessingThead); connect(realProcessingThead, SIGNAL(started()), process, SLOT(process())); connect(process, SIGNAL(finished()), realProcessingThead, SLOT(quit())); connect(process, SIGNAL(finished()), process, SLOT(deleteLater())); connect(realProcessingThead, SIGNAL(finished()), realProcessingThead, SLOT(deleteLater())); connect(realProcessingThead, SIGNAL(finished()), this, SLOT(realExit())); connect(process, SIGNAL(showImages()), this, SLOT(showImages())); connect(process, SIGNAL(messageError(QString, QString)), this, SLOT(errorMessage(QString, QString))); connect(process, SIGNAL(startedProcess()), this, SLOT(startedProcess())); connect(process, SIGNAL(finishedProcess()), this, SLOT(finishedProcess())); connect(process, SIGNAL(calibrationNotSet()), this, SLOT(calibrationNotSet())); connect(process, SIGNAL(showOverlay(QString,int)), this, SLOT(showOverlay(QString,int))); connect(process, SIGNAL(getFilmFileName()), this, SLOT(getFilmFileName())); //connect(this, SIGNAL(showOverlay(QString,int)), this, SLOT(showOverlay(QString,int))); realProcessingThead->start(); return true; }
void DetectorMainWindow::imagesBrowse(){ QStringList selected; QFileDialog dialog(this); dialog.setFileMode(QFileDialog::ExistingFiles); dialog.setDirectory(QDir("/home/majd/Downloads/inr/INRIAPerson/")); if (dialog.exec()){ selected=dialog.selectedFiles(); // ui->imagesViewWidget=new DetectMultiScaleBatchDialog (this,selected,&detector); // ui->imagesViewWidget->repaint(); showImages(selected); } }
void PlaylistModel::clearPlaylist() { if (empty()) return; beginRemoveRows(QModelIndex(), 0, rowCount()-1); { qDeleteAll(files); files.clear(); } endRemoveRows(); img_index = -1; img_num = 0; showImages(); emit changePlaylistStatus(); }
void PlaylistModel::prevImage() { if (empty()) return; int old_index = img_index; dataChangeNotice( nextIndex(img_index, -countShowImages()), countShowImages()); if (old_index != img_index) { showImages(); emit changePlaylistStatus(); } }
RSImageBlockWidget::RSImageBlockWidget(QWidget *parent) : QWidget(parent), ui(new Ui::RSImageBlockWidget), mAutoHide(false), mAutoHideHeight(4), mAutoHideTimeToStart(3000), mAutoHideDuration(3000) { ui->setupUi(this); mDefaultRect = this->geometry(); ui->infoFrame->installEventFilter(this); mTimer = new RsProtectedTimer(this); mTimer->setSingleShot(true); connect(mTimer, SIGNAL(timeout()), this, SLOT(startAutoHide())); mAnimation = new QPropertyAnimation(this, "geometry"); connect(ui->loadImagesButton, SIGNAL(clicked()), this, SIGNAL(showImages())); }
void compareImages(std::string reference_filename, std::string test_filename, bool useEpsCheck, double perPixelError, double globalError) { cv::Mat reference = cv::imread(reference_filename, -1); cv::Mat test = cv::imread(test_filename, -1); cv::Mat diff = abs(reference - test); showImages(reference, test); cv::Mat diffSingleChannel = diff.reshape(1, 0); //convert to 1 channel, same # rows double minVal, maxVal; cv::minMaxLoc(diffSingleChannel, &minVal, &maxVal, NULL, NULL); //NULL because we don't care about location //now perform transform so that we bump values to the full range diffSingleChannel = (diffSingleChannel - minVal) * (255. / (maxVal - minVal)); diff = diffSingleChannel.reshape(reference.channels(), 0); cv::imwrite("HW4_differenceImage.png", diff); //OK, now we can start comparing values... unsigned char *referencePtr = reference.ptr<unsigned char>(0); unsigned char *testPtr = test.ptr<unsigned char>(0); if (useEpsCheck) { checkResultsEps(referencePtr, testPtr, reference.rows * reference.cols * reference.channels(), perPixelError, globalError); } else { checkResultsExact(referencePtr, testPtr, reference.rows * reference.cols * reference.channels()); } std::cout << "PASS" << std::endl; return; }
void GameUI::nodeChanged(MythGenericTree* node) { if (!node) return; if (!isLeaf(node)) { if (node->childCount() == 0 || node == m_favouriteNode) { node->deleteAllChildren(); fillNode(node); } clearRomInfo(); } else { RomInfo *romInfo = qVariantValue<RomInfo *>(node->GetData()); if (!romInfo) return; if (romInfo->Romname().isEmpty()) romInfo->fillData(); updateRomInfo(romInfo); if (!romInfo->Screenshot().isEmpty() || !romInfo->Fanart().isEmpty() || !romInfo->Boxart().isEmpty()) showImages(); else { if (m_gameImage) m_gameImage->Reset(); if (m_fanartImage) m_fanartImage->Reset(); if (m_boxImage) m_boxImage->Reset(); } } }
void MainWindow::compareFiles() { if(list_hist.size() != 0) { QDir dir; QStringList filtros ; filtros << "*.jpg" << ".*png" << "*.bmp"; QString fileName = QFileDialog::getOpenFileName(this, tr("Load Image to Compare"), QDir::currentPath(), tr("Images (*.jpg *.png *.bmp)")); QDir file = QFileInfo(fileName).absoluteDir(); if(fileName.toStdString() != "") { QString image = fileName.split( "/" ).back(); QString image_path = file.absolutePath() + "/" + image; QString xml = "hist_"+ QString("%1").arg(this->imageID +1, 6, 10, QChar('0')) + ".xml"; QString xml_path = dir.absolutePath() + "/" + this->HistFolder+"/"+ xml; // Extract HSV and compare. Histogram *h = new Histogram(image.toStdString(), image_path.toStdString(), xml_path.toStdString()); // COMPARE HISTOGRAM // PARALLEL CODE int i; QList<Histogram*> list_hist; list_hist = this->list_hist; #pragma omp parallel firstprivate(list_hist) shared(h) { #pragma omp for private(i) for(i = 0; i < list_hist.length(); i++) h->compareHistogram(h, list_hist.at(i), 1); #pragma omp barrier } // END PARALLEL CODE // SORT TOP 15 QList<Histogram*> ranking; for(i = 0; i < list_hist.length(); i++) { if(ranking.length() < 15) { ranking.push_back(list_hist.at(i)); } else { if(list_hist.at(i)->getCompare() > ranking.at(0)->getCompare()) { ranking.pop_front(); ranking.push_back(list_hist.at(i)); } } qSort(ranking.begin(), ranking.end(), compLess<Histogram>()); } this->edit->append("\nTOP 15:\n"); QList<QString> imagesToShow; for(i = ranking.length() - 1; i >= 0 ; i--) { QString text = "Image: " + QString::fromStdString(ranking.at(i)->getName()) + " is " + QString::number(ranking.at(i)->getCompare()) + "% similar"; imagesToShow.append("images/" + QString::fromStdString(ranking.at(i)->getName())); this->edit->append(text); } ShowImages showImages(imagesToShow); showImages.setWindowTitle("View Images"); showImages.exec(); } } else { QMessageBox msgBox; QString stringMsg = "No existe BBDD de imágenes para comparar."; msgBox.setIcon(QMessageBox::Warning); msgBox.setText(stringMsg); msgBox.exec(); } }
void MainWindow::next() { currentIndex++; showImages(3); }
void ImageExample::touchDown( ofTouchEventArgs & touch ) { TUIO::TuioCursor* cursor1 = nullptr; TUIO::TuioCursor* cursor2 = nullptr; TUIO::TuioCursor* cursor3 = nullptr; TUIO::TuioCursor* cursor4 = nullptr; unsigned long long currentTime = ofGetElapsedTimeMillis(); if(currentTime - m_elapsedTime <= 500) { m_Mode = M_DOUBLETAP; } else { m_Mode = M_TAP; } int cursorNum = MyClient.client->getTuioCursors().size(); switch (cursorNum) { case 1: //앨범이고 더블클릭일 경우 사진들 숨기기 for ( auto *iter : MyClient.client->getTuioCursors() ) { switch ( iter->getCursorID() ) { case 0: cursor1 = iter; break; default: break; } } if(cursor1 == nullptr) return; m_currentElement = getCurrentImage(cursor1); if(m_currentElement == nullptr) { break; } if(m_currentElement->m_isCover && m_Mode == M_DOUBLETAP) { hideImages(m_currentElement); } //앨범이고 탭일 경우 사진들 보이기 else if(m_currentElement->m_isCover && m_Mode == M_TAP) { showImages(m_currentElement); } //사진일 경우 단순 선택 else if(m_currentElement->m_isCover == false && m_Mode == M_TAP) { m_currentElement->m_Mode = M_TAP; } break; case 2: for ( auto *iter : MyClient.client->getTuioCursors() ) { switch ( iter->getCursorID() ) { case 0: cursor1 = iter; break; case 1: cursor2 = iter; break; break; default: break; } } if (cursor1 == nullptr || cursor2 == nullptr) { return; } if(getCurrentImage(cursor1) ==nullptr && getCurrentImage(cursor2)==nullptr) break; if(getCurrentImage(cursor1)==getCurrentImage(cursor2)) m_currentElement = getCurrentImage(cursor1); else if(getCurrentImage(cursor1)!= nullptr && getCurrentImage(cursor2)==nullptr) m_currentElement = getCurrentImage(cursor1); else if(getCurrentImage(cursor1)== nullptr && getCurrentImage(cursor2)!=nullptr) m_currentElement = getCurrentImage(cursor2); else break; if(m_currentElement->m_isCover == true) return; m_currentElement->m_Distance =sqrt(pow(cursor1->getX()-cursor2->getX(),2)+pow(cursor1->getY()-cursor2->getY(),2)); m_backOriginX = (cursor1->getX()-cursor2->getX())/2; m_backOriginY = (cursor1->getY()-cursor2->getY())/2; m_currentAngle = 180.0 * atan( ( cursor1->getY() - cursor2->getY() ) / ( cursor1->getX() - cursor2->getX() )) * PI; m_Mode = M_SCALE; break; case 3: for ( auto *iter : MyClient.client->getTuioCursors() ) { switch ( iter->getCursorID() ) { case 0: cursor1 = iter; break; case 1: cursor2 = iter; break; case 2: cursor3 = iter; break; default: break; } } if (cursor1 == nullptr || cursor2 == nullptr|| cursor3 == nullptr) { return; } m_Mode = M_ZOOM; m_currentElement = getZoomingImage(cursor1,cursor2,cursor3); break; case 4: for ( auto *iter : MyClient.client->getTuioCursors() ) { switch ( iter->getCursorID() ) { case 0: cursor1 = iter; break; case 1: cursor2 = iter; break; case 2: cursor3 = iter; break; case 3: cursor4 = iter; break; default: break; } } if (cursor1 == nullptr || cursor2 == nullptr|| cursor3 == nullptr|| cursor4 == nullptr) { return; } m_Mode = M_NAVIGATION; m_backOriginX = WINDOW_WIDTH*(cursor1->getX()+cursor2->getX() + cursor3->getX()+cursor4->getX())/4; m_backOriginY = WINDOW_HEIGHT*(cursor1->getY()+cursor2->getY() + cursor3->getY()+cursor4->getY())/4; break; default: break; } m_elapsedTime = currentTime; }
void DetectorMainWindow::writtenPaths(){ QStringList selected=ui->lineEdit->text().split(';'); showImages(selected); }