ImageSourceDir::ImageSourceDir(const char* directory, bool _keepFrames) { curImage = NULL; m_keepFrames = _keepFrames; strncpy (m_DirSpec, directory, strlen(directory)+1); countFiles(); setCurrentImage(0); }
void ImageSourceDir::getIplImage(const std::string& fileName) { // assemble image filename char tmpStr[MAX_PATH+1]; sprintf (tmpStr, "%s/%s", m_DirSpec, fileName.c_str()); // find corresponding idx int idx = -1; for (int i = 0; i < m_numFiles; i++) { if( fileName.compare(m_fileNames[i]) == 0 ) { idx = i; break; } } if (idx >= m_numFiles || idx < 0) { curImage = NULL; return; } // we set IDX to current Image Position setCurrentImage(idx); // check if image was already loaded, then return it, // else load it and store it into a vector of images string fn(tmpStr); if(m_keepFrames) { if(m_loadedImagesMap[fn]) { cvReleaseImage(&(m_loadedImagesMap[fn])); } // reload m_loadedImagesMap[fn] = cvLoadImage(tmpStr, -1); // assign curImage = m_loadedImagesMap[fn]; } else { if(curImage) cvReleaseImage (&curImage); curImage = cvLoadImage(tmpStr, -1); } // increase current File Counter m_curFile++; }
// get IPL Image depending on IDx void ImageSourceDir::getIplImage(int idx) { //printf("GetIPL!\n"); // Index check if (idx >= m_numFiles || idx < 0) { curImage = NULL; return; } setCurrentImage(idx); // assemble image filename char tmpStr[MAX_PATH+1]; sprintf (tmpStr, "%s/%s", m_DirSpec, m_fileNames[m_curFile].c_str()); // check if image was already loaded, then return it, // else load it and store it into a vector of images string fn(tmpStr); if(m_keepFrames) { if(m_loadedImagesMap[fn]) { cvReleaseImage(&(m_loadedImagesMap[fn])); } // reload m_loadedImagesMap[fn] = cvLoadImage(tmpStr, -1); // assign curImage = m_loadedImagesMap[fn]; } else { if(curImage) cvReleaseImage (&curImage); curImage = cvLoadImage(tmpStr, -1); } // increase current File Counter m_curFile++; }
void qwDecoratedCanvas::hideEvent(QHideEvent *e) { setCurrentImage(QSharedPointer<CImgContext>()); QWidget::hideEvent(e); }
void qwDecoratedCanvas::setCurrentImageSlot(QListWidgetItem* imc) { setCurrentImage(Globals::findImgContextByWidget(imc)); }
void ToolbarButton::buttonStateChanged() { setCurrentImage (getImageToUse()); }
void ImageSourceDir::setRandomImage() { setCurrentImage( (int)(m_numFiles * rand()/( RAND_MAX+1.0f )) ); }