int main(int argc, char* argv[]) { if (argc < 6) { std::cout << "Usage: " << argv[0] << " in out-image out-csv threshold [sort-mode]\n"; std::cout << " sort-mode: sort-by-color, sort-by-count\n"; return 0; } cv::Mat Z; std::string f = argv[1]; if (fs::is_directory(f)) { Z = loadThumbnails(f); } else if (fs::path(f).extension() == ".png" || fs::path(f).extension() == ".jpg") { Z = loadImage(f); } else { Z = loadVideo(f); } std::cout << "Clustering...\n"; std::vector<Cluster> centers; if (std::string(argv[4]).find(".") == std::string::npos) { cluster(Z, (int)atoi(argv[4]), centers); } else { cluster(Z, (float)atof(argv[4]), centers); } std::string sort_mode = argc >= 6 ? argv[5] : "sort-by-count"; if (sort_mode == "sort-by-color") { sortCentersByColor(centers); } else { sortCentersByCount(centers); } exportCenters(centers, argv[2], argv[3]); }
void DockPixelStreamer::changeDirectory( const QString& dir ) { slideIndex_[currentDir_.path()] = flow_->centerIndex(); flow_->clear(); slideImagesToLoad_.clear(); slideImagesLoaded_.clear(); currentDir_ = QDir(dir); if (dir != rootDir_) { addRootDirToFlow(); } addFilesToFlow(); addFoldersToFlow(); flow_->setCenterIndex( slideIndex_[currentDir_.path()] ); loadThumbnails( slideIndex_[currentDir_.path()] ); }