Compress Tracking From Sequence C++ 的修改

        關於作者主頁給出的代碼,無法讀取連續圖像文件,這裏做出修改,運行通過。

       問題出現在readImageSequenceFiles函數中,由於wchar*與char* 之間的轉換問題引起,查閱很多網頁,終於修改成功。


void readImageSequenceFiles(char* imgFilePath,vector <string> &imgNames)
{	
	imgNames.clear();

	char tmpDirSpec[MAX_PATH+1];
	sprintf (tmpDirSpec, "%s/*", imgFilePath);

	WIN32_FIND_DATA f;
	TCHAR wchar[100];
	MultiByteToWideChar( CP_ACP, 0, tmpDirSpec, strlen(tmpDirSpec)+1, wchar, sizeof(tmpDirSpec)/sizeof(wchar[0]) ); 
	HANDLE h = FindFirstFile(wchar , &f);
	char tmpstr[20]={0};
	if(h != INVALID_HANDLE_VALUE)
	{
		FindNextFile(h, &f);	//read ..
		FindNextFile(h, &f);	//read .
		do
		{
			WideCharToMultiByte(0, 0, f.cFileName, wcslen(f.cFileName), tmpstr, 20, NULL, NULL);
			imgNames.push_back(tmpstr);
		} while(FindNextFile(h, &f));
	}
	FindClose(h);	
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章