批量读取图像的问题
(1) 如果是已知图像所在位置并且图像名称是有规律的,类似于001.jpg,002.jpg.........的,则通过一个循环就可以读进来,比如上面的例子,读取时的程序师这样的:
for i=0:9   
  gi=imread(strcat('newg', num2str(i),'.jpg'));
G(:,:,i+1)=gi;  
end上面是用matlab做的,,请教一下,用VC怎么实现?
刚在基础类发了一个,http://topic.csdn.net/u/20100801/15/9cff8553-cdb5-4d59-90d4-167567b1c2c1.html发错了,分也给的少了,,重新发,,

解决方案 »

  1.   

    提供所需的要点:
    sprintf函数
    MultiByteToWideChar函数
    GDI+库的使用
      

  2.   

    创建线程,写一个全局的id,线程读到id,id++,读图片CImage img;
    CString str;
    str.Format(_T("%d.jpg"),id); //1.jpg
    FormatPicName(str);             //001.jpgimg.Load(str);   //载入进来了,接下来看你自己了~
      

  3.   

    VC也可以类似打开,
    另外VC里面可以用对话框选中一堆文件,保存在一个列表里,然后批量操作
      

  4.   

    关键你用什么读取图像,DIB,OpenCV或者CImage还是其他的,重复很简单啊,直接做个for循环就可以了
      

  5.   


    FormatPicName 这步怎么操作,我都不好意思了,真的不会操作的,,
    请多多指教,,谢谢,,
      

  6.   


    我的8位bmp图片,,纯VC 没有DIB,OpenCV或者CImage等,如果能操作,也可以加,,
      

  7.   

    for(int i=0; i<10; i++)
    {
        CString strPic;
        strPic.Format("%03d.bmp", i);
        HBITMAP hBitmap = (hBitmap )LoadImage(NULL, strPic, IMAGE_BITMAP, NULL, NULL, LR_LOADFROMFILE);
    }
      

  8.   


    请教一下 HBITMAP 和HDIB的区别是什么?
    得到HBITMAP hBitmap 后,怎么再得到HDIB m_hdib呢,,还是有点不懂,,
      

  9.   

    HBITMAP对应CBitmap
    HDIB我没用过
      

  10.   

    请教一下 HBITMAP 和HDIB的区别是什么?
    得到HBITMAP hBitmap 后,怎么再得到HDIB m_hdib呢,,还是有点不懂,,
    ===========
    HDIB应该不是系统提供的东西,应该是一个自定义的类型 。其它HBITMAP已经完全可以处理位图了。