VC CFineFinder遍历文件夹下的所有文件

void CTrainNumberIdentificationDlg::findFile(CString str)
{
g_log.Log(str+"文件夹识别开始!------------------------------------------------------------\n");
    CString m_cstrFileList="";
    CFileFind tempFind;
    BOOL bFound; //判断是否成功找到文件
    bFound=tempFind.FindFile(str   +   "\\*.*");   //修改" "内内容给限定查找文件类型
    CString strTmp;   //如果找到的是文件夹 存放文件夹路径




RecogOneTrainByQueue recg;
TeObjectSet stObjSet;
IplImage* pSrcImage = NULL;
CString strFileName = "";
BOOL bRetVal = FALSE;
int nMaxCount = 0;
char strTrainNumber[16] = {0};


    while(bFound)      //遍历所有文件
    {
        bFound=tempFind.FindNextFile(); //第一次执行FindNextFile是选择到第一个文件,以后执行为选择
                                                              //到下一个文件
           if(tempFind.IsDots()) continue; //如果找到的是返回上层的目录 则结束本次查找
          
            if(tempFind.IsDirectory())   //找到的是文件夹,则遍历该文件夹下的文件
            {
                strTmp="";
                strTmp=tempFind.GetFilePath();
                findFile(strTmp);
            }
            else
            {
g_num++;
strFileName=tempFind.GetFilePath();
pSrcImage = cvLoadImage(strFileName.GetBuffer(0), CV_LOAD_IMAGE_COLOR);
strFileName.ReleaseBuffer();
if(NULL != pSrcImage)
{
ZeroMemory(&stObjSet,sizeof(TeObjectSet));
tePrediction(pSrcImage, &stObjSet);
cvReleaseImage(&pSrcImage);
pSrcImage = NULL;


stObjSet.iNum = (stObjSet.iNum > 15)?(15):(stObjSet.iNum);
if(stObjSet.iNum >= 5 && stObjSet.iNum <= 15)
{
ZeroMemory(strTrainNumber,sizeof(strTrainNumber));
if(strFileName.Find("big") >= 0)
recg.ReadTrainNumber(strTrainNumber,&stObjSet,2);
else
recg.ReadTrainNumber(strTrainNumber,&stObjSet,2);
pair<CString,CString> temp(strTrainNumber,strFileName);
//m_one_vehicle_all_results.push_back(temp);
}
//m_plogFile->Log("%s------>%s\n",strFileName,strTrainNumber);
}


g_log.Log(tempFind.GetFilePath()+"-----------"+strTrainNumber+"\n");           
            }
    }
    tempFind.Close();
g_log.Log(str+"文件夹识别结束!------------------------------------------------------------\n");


    return;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码猿杂谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值