2015-04-22 92 views
0

首先,我是C++的新手。我正在使用Visual Studio 2010.我從事一個包含相機的項目。相機將圖像(位圖)發送到我的電腦中的特定文件夾位置。我想要一致地監視目錄。當在目錄中獲得新的位圖圖像時,我想處理該圖像。我想要使​​用的代碼始終監視目錄並讀取此目錄中的最後一個位圖圖像。我可以用什麼來實現它?你有什麼建議?你能寫出源代碼嗎?感謝您的關注。如何監視目錄並在C++中讀取此目錄中的圖像

+3

你能告訴我們你試過了嗎? – newbie

+0

我正在使用如下代碼處理圖像: frame = cvLoadImage(「test17.bmp」,CV_LOAD_IMAGE_GRAYSCALE); 但是;我不想通過輸入名稱來閱讀圖像。我想監視一個目錄,當一個圖像被添加到目錄時,我想要讀取這個圖像。它能幫助你理解我試圖做的事情嗎? – erhertan

+0

我認爲它可能與這個問題重複:http://stackoverflow.com/questions/61253/how-to-be-notified-of-file-directory-change-in-cc-ideally-using-posix和這個問題:http://stackoverflow.com/questions/931093/how-do-i-make-my-program-watch-for-file-modification-in-c – newbie

回答

0

我不與誰回答了這個問題,它可以與我下面用一些共同存在的庫eaisly做其他人同意,此代碼,你在找什麼,

string processName() 
{ 

    FILETIME bestDate = { 0, 0 }; 
    FILETIME curDate; 
    string name; 
    CFileFind finder; 


    BOOL bWorking = finder.FindFile("*.png"); 

    while (bWorking) 
    { 

     bWorking = finder.FindNextFile(); 

    // date = (((ULONGLONG) finder.GetCreationTime(ft).dwHighDateTime) << 32) + finder.GetCreationTime(ft).dwLowDateTime; 

     finder.GetCreationTime(&curDate); 

     if (CompareFileTime(&curDate, &bestDate) > 0) 
     { 
      bestDate = curDate; 
      name = finder.GetFileName().GetString(); 
      // name = (LPCTSTR) finder.GetFileName(); 
     } 



    } 
    return name; 
} 

這裏我爲代碼寫了它,它需要最後輸入的/.png擴展名的名稱,您可以檢查它的libray。

請告訴我更多問題

1

Windows ReadDirectoryChangesW API可用於監視添加文件的目錄。然而,這是非常先進的,如果你是C++和Windows編程的新手,它可能超出你的能力。你需要一些有經驗的幫助。