//图像预处理第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=;
CRect rect,rectnew;
BYTE* lpDIB=(BYTE*)::GlobalLock ((HGLOBAL)m_hDIB);
BYTE* lpDIBBits=(BYTE*)::FindDIBBits ((char*)lpDIB);
BYTE* lpNewDIBBits;
BYTE* lpDst;
LONG lLineBytes=(digicount*w+)/*;
LONG lLineBytesnew =(w+)/*;
HDIB hDIB=NULL;
while(!m_charRect.empty ())
{
hDIB=::NewDIB (w,h,);
lpDIB=(BYTE*) ::GlobalLock((HGLOBAL)hDIB);
lpNewDIBBits = (BYTE*)::FindDIBBits((char*)lpDIB);
lpDst=(BYTE*)lpNewDIBBits;
memset(lpDst,(BYTE),lLineBytesnew * h);
rect=m_charRect.front ();
m_charRect.pop_front ();
for(i=;i<h;i++)
for(j=;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=;
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;
}

图像预处理第9步:存为.bmp文件的更多相关文章

  1. OpenGL(十) 截屏并保存BMP文件

    BMP文件格式 BMP图像又称为Bitmap(位图),是Windows系统中广泛采用的图像格式.BMP文件的数据按照从文件头开始的先后顺序分为四个部分: 我们一般见到的图像以24位图像为主,即R.G. ...

  2. Caffe2 图像预处理(Image Pre-Processing)[6]

    学习如何使得图像符合预训练模型的需求,或者用其他数据集的图像来测试自己的模型. - 调整大小 - 缩放 - HWC和CHW,数据通道交换 - RGB和BGR,颜色通道的交换 - Caffe2的图像预处 ...

  3. [opencv]图像预处理方案及方式

    像识别中,图像质量的好坏直接影响识别算法的设计与效果精度,那么除了能在算法上的优化外,预处理技术在整个项目中占有很重要的因素,然而人们往往忽略这一点. 图像预处理,将每一个文字图像分检出来交给识别模块 ...

  4. ENVI【遥感图像预处理之图像的几何校正】

    ---恢复内容开始--- 一.图像几何校正的概述 1.几何校正方法: 1)利用卫星自带的地理定位文件进行几何校正.主菜单>>>Map>>Georeference传感器的名 ...

  5. 『TensorFlow』第九弹_图像预处理_不爱红妆爱武装

    部分代码单独测试: 这里实践了图像大小调整的代码,值得注意的是格式问题: 输入输出图像时一定要使用uint8编码, 但是数据处理过程中TF会自动把编码方式调整为float32,所以输入时没问题,输出时 ...

  6. 基于OpenCV的火焰检测(一)——图像预处理

    博主最近在做一个基于OpenCV的火焰检测的项目,不仅可以检测图片中的火焰,还可以检测视频中的火焰,最后在视频检测的基础上推广到摄像头实时检测.在做这个项目的时候,博主参考了很多相关的文献,用了很多种 ...

  7. TensorFlow图像预处理完整样例

    参考书 <TensorFlow:实战Google深度学习框架>(第2版) 以下TensorFlow程序完成了从图像片段截取,到图像大小调整再到图像翻转及色彩调整的整个图像预处理过程. #! ...

  8. python+opencv 图像预处理

    一 python 生成随机字符串序列+ 写入到图片上 from PIL import Image,ImageDraw,ImageFont import numpy as np import rando ...

  9. Matlab 读取文件夹中所有的bmp文件

    将srcimg文件下的bmp文件转为jpg图像,存放在dstimg文件夹下 str = 'srcimg'; dst = 'dstimg'; file=dir([str,'\*.bmp']); :len ...

随机推荐

  1. 关于DoesObjectExist

    目录: 我们可以看到这个文件夹目录是存在的 文件: 然后,我们运行测试一下: 文件存在检测成功(正常) 文件夹存在,但检测失败! ??? 明明存在的,为什么检测不到……

  2. gulp 安装 使用 和删除

    1.安装 全局安装: npm intstall gulp -g      (首先你得有node.js ,这个可以去node 官网下载个iso的镜像安装包,傻瓜式安装.自带npm) 安装在项目中: 首先 ...

  3. Apache 打开网页的时候等待时间过长的解决方案

    服务器搭建后经常在打开页面的时候,等待很长时间,有时候,都超过一分钟了,然后才能打开,但是打开后,速度又很快,休息一会再点击,又会很慢了,遇到了这种问题很头疼,由于不是专业做服务器配置的,所以刚开始没 ...

  4. Buge's Fibonacci Number Problem

    Buge's Fibonacci Number Problem Description snowingsea is having Buge’s discrete mathematics lesson, ...

  5. mui小总结

    下拉刷新 第一: mui.init({ pullRefresh: { container: '#pullrefresh', up: { contentrefresh: '正在加载...', callb ...

  6. try,catch,finally含return时的执行顺序及丢失的伪例

    最近面试遇到一个之前也看到过但没去看一下的问题.就是有return情况下的try,catch,finally的执行顺序. 今天写了下. 先看顺序问题.总结如下: 一:finally中没有写return ...

  7. python实现汉诺塔

    经典递归算法汉诺塔分析: 当A柱子只有1个盘子,直接A --> C 当A柱子上有3个盘子,A上第一个盘子 --> B, A上最后一个盘子 --> C, B上所有盘子(1个) --&g ...

  8. 读取Devexpress内部的图标

    1.图标在Dev源码的存储路径: Sources D.x.u 15.1.3\DevExpress.Images\Images   2.引用DevExpress.Images.v15.1.dll文件,代 ...

  9. vim编辑指令(转)

    跳跃指令 类似于游览器中的<前进><后退>按钮  CTRL-] -> 跟着link/tag转入 (follow link/tag)  CTRL-o -> 回到上一次 ...

  10. 关于dvajs里effects的call和put

    call会把return 传回来 put把参数穿回来了 在effects里好像只有yield能触发put ,call暂时没定