zoukankan      html  css  js  c++  java
  • 图像预处理第9步:存为.bmp文件

    //图像预处理第9步:将最终标准化后的字符图像分为单个单个的HDIB保存,并存为.bmp文件
    void CChildView::OnImgprcToDibAndSave() 
    {
        unsigned char* lpSrc;
        int w,h;
        w=m_charRect.front ().Width() ;
        h=m_charRect.front ().Height() ;
        m_dibRect.clear ();
        m_dibRectCopy.clear ();
        int i_src,j_src;
        int i,j;
        int counts=0;
        CRect rect,rectnew;
        BYTE* lpDIB=(BYTE*)::GlobalLock ((HGLOBAL)m_hDIB);
        BYTE* lpDIBBits=(BYTE*)::FindDIBBits ((char*)lpDIB);
        BYTE* lpNewDIBBits;
        BYTE* lpDst;
        LONG lLineBytes=(digicount*w+3)/4*4;
        LONG lLineBytesnew =(w+3)/4*4;
        HDIB hDIB=NULL;
        while(!m_charRect.empty ())
        {
            hDIB=::NewDIB (w,h,8);
            lpDIB=(BYTE*) ::GlobalLock((HGLOBAL)hDIB);    
            lpNewDIBBits = (BYTE*)::FindDIBBits((char*)lpDIB);
            lpDst=(BYTE*)lpNewDIBBits;
            memset(lpDst,(BYTE)255,lLineBytesnew * h);        
            rect=m_charRect.front ();
            m_charRect.pop_front ();
            for(i=0;i<h;i++)
                for(j=0;j<w;j++)
                {
                    i_src=rect.top + i;
                    j_src=j+counts*w;
                    lpSrc=(BYTE *)lpDIBBits + lLineBytes *  i_src + j_src;
                    lpDst=(BYTE *)lpNewDIBBits + lLineBytesnew * i + j;
                    *lpDst=*lpSrc;
                }
            ::GlobalUnlock (hDIB);
            m_dibRect.push_back (hDIB);
            counts++;
        }
        m_charRect=m_charRectCopy;
        m_dibRectCopy=m_dibRect;
        //输出为.bmp文件
        CString str;
        counts=1;
        while(!m_dibRect.empty ())
        {
            str.Format ("part%d.bmp",counts);
            //str=strPath+"\"+str;
               CFile file(str, CFile::modeReadWrite|CFile::modeCreate);
            hDIB=m_dibRect.front ();
            ::SaveDIB (hDIB,file);
            m_dibRect.pop_front ();
            file.Close ();    
            counts++;
        }
        m_dibRect=m_dibRectCopy;
    }
  • 相关阅读:
    python基础(str,list,tuple)
    MySQL数据类型概念
    Ubuntu安装sublime
    Ubuntu安装pycharm
    ubuntu安装mysql
    微信小程序注册开发流程
    新开篇
    被玩坏了的题——马的遍历
    一道数学恶心题——小凯的疑惑
    搜索基础题:八皇后
  • 原文地址:https://www.cnblogs.com/Bobby0322/p/5408942.html
Copyright © 2011-2022 走看看