网络摄像机获取的IPLIMAGE类型的图片保存到文件夹里面

阳光明媚就出去走走 2015-05-24 11:22:47
void CMFCRemoteDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
VSNET_ClientShowcallback(m_hHandle, ShowCallBack1, NULL);
leftPic = CMFCRemoteDlg::tempImg;
if (nIDEvent == 1)
{
if (leftPic != NULL)
{
CDC* pDC1 = m_video.GetDC();
HDC pHdc1 = pDC1->GetSafeHdc();
CRect rect1;
rect1.right = 640;
rect1.bottom = 480;

cvvleftPic.CopyOf(leftPic);
cvvleftPic.DrawToHDC(pHdc1, &rect1);
ReleaseDC(pDC1);
cvReleaseImage(&CMFCRemoteDlg::tempImg);

}

}
if (nIDEvent == 2)
{
cvShowImage("test", leftPic);
}
if (nIDEvent == 3)
{

char * cou = _itoa(count, temp, 10);
char * m = "E://VS//PICTURE//";
char * c=strcat(m, cou);
char * p = ".jpg";
char * filename = strcat(c, p);
cvSaveImage(filename, leftPic);
count++;
}


CDialogEx::OnTimer(nIDEvent);
}

一个按钮的单击事件
void CMFCRemoteDlg::OnClickedButtonRes()
{
// TODO: Add your control notification handler code here
SetTimer(3, 1000, NULL);
}
单击这一按钮后程序直接停止工作,不知道是什么原因,上面nIDEvent == 3里的代码有什么问题吗?
想实现定时让一秒存一张从服务器那边传来的图像到文件夹里面,传过来的都在leftPic变量里面,是IPLIMAGE类型的,
哪位好心人可以帮忙解答一下?不胜感激。
...全文
559 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
好了,谢谢您~~~
  • 打赏
  • 举报
回复
if (nIDEvent == 3) { char * cou = (char *)malloc(sizeof(char) + 1); cou = _itoa(count, temp, 10); char * m = "E://VS//PICTURE//"; char* c = (char*)malloc(strlen(m) + strlen(cou) + 1); strcpy(c, m); strcat(c, cou ); char * p = ".jpg"; char * filename = (char *)malloc(strlen(c) + strlen(p) + 1); strcpy(filename, c); strcat(filename, p); cvSaveImage(filename, leftPic); count++; } 改成这样写了,可是为什么还是不可以,也是程序直接停止工作。。。。
  • 打赏
  • 举报
回复
那请问应该怎么写,可以给指导一下吗?谢谢啦~~~,我真的没有思路呀~~~
worldy 2015-05-24
  • 打赏
  • 举报
回复
char * c=strcat(m, cou); m的内存是在程序数据区,是不可以改写的,另外,你这样操作也不对,因为内存数量不足

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧