| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 338 人关注过本帖
标题:求助:视频的存储问题
取消只看楼主 加入收藏
tanchaoacl
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-8-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
求助:视频的存储问题
我现在做一个项目,就是用视频采集卡采集摄像头的数据,视频采集卡具有SDK二次开发的功能,我需要在视频采集卡的回调函数中加入算法对视频进行处理,显示窗口有两个,一个是显示原视频窗口,一个是显示处理后的视频,原视频可以通过采集卡提供的函数存储,但处理后的视频我就不知道怎么存储了!
下面是我在回调函数写的程序:
指针plnfo是指向从摄像头采集的视频流帧的DIB的BITMAPINFO头的,pBits指向点矩阵数据。
我现在就是把pBits指向的点矩阵数据按照算法对每个像素点进行处理并存到预先分配的内存空间GrayImage中,并显示出来!怎么才能将内存空间GrayImage中数据以视频的形式存储起来!
请老师看看我的程序,并给我提出点建议,看能不能有其他比较简单的方法把处理后的视频存储到硬盘中去!学生感激万分!求求老师给点建议!
void CShowStreamDlg::ShowStream(const BITMAPINFO * pInfo, const BYTE * pBits)
{
if(!pInfo || !pBits)
  return;
HDC hdc = ::GetDC(m_hWnd);
int w = pInfo->bmiHeader.biWidth;
int h = pInfo->bmiHeader.biHeight;
int Gray;
BYTE*GrayImage=(BYTE*)(new BYTE[w*h*4]);
SetStretchBltMode(hdc, COLORONCOLOR);
for(i=0;i<h;i++)
  for(int j=0;j<w;j++)
  {
  Gray=(pBits[i*3*w+j*3+0]*11+pBits[i*3*w+j*3+1]*59+pBits[i*3*w+j*3+2]*30)/100;
  GrayImage[i*3*w+j*3+0]=Gray;
  GrayImage[i*3*w+j*3+1]=Gray;
  GrayImage[i*3*w+j*3+2]=Gray;
  }
  StretchDIBits(hdc,
  0, 0, WIDTH, HEIGHT,
  0, 0, w, h,
  GrayImage, pInfo, DIB_RGB_COLORS, SRCCOPY);
::ReleaseDC(m_hWnd, hdc);
}
 
 
 
搜索更多相关主题的帖子: 视频 
2010-08-13 13:54
快速回复:求助:视频的存储问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021575 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved