opencv 在mfc显示图片有关问题
opencv 在mfc显示图片问题
我用opencv版本是2.4.3 vs2010 mfc
我加入了cvvimage.h cvvimage.cpp
可以运行但是 在mfc上显示不了,不知道这是为什么。。。崩溃中。。
------解决方案--------------------
刚开始不是有一个控制台显示的例子么
可以显示么?
------解决方案--------------------
控制台都运行不了 你配置没问题吧?
------解决方案--------------------
试试用CxImage在MFC上显示图像非常方便。
------解决方案--------------------
直接用BitBlt画呗
------解决方案--------------------
------解决方案--------------------
Mat img=imread(filename); //用成员变量保存起来
把它修改一下放在OnPaint或OnTime(需要设置定时器)中
我用opencv版本是2.4.3 vs2010 mfc
我加入了cvvimage.h cvvimage.cpp
可以运行但是 在mfc上显示不了,不知道这是为什么。。。崩溃中。。
CFileDialog dlgFile(TRUE, NULL, NULL, OFN_HIDEREADONLY, _T("λͼ (*.bmp)|*.bmp|(*.jpg)|*.jpg|(*.gif)|*.gif|All Files (*.*)|*.*||"), NULL);
if (dlgFile.DoModal())
{
FilePath = dlgFile.GetPathName();
}
int nLength = FilePath.GetLength();
int nBytes = WideCharToMultiByte(CP_ACP,0,FilePath,nLength,NULL,0,NULL,NULL);
filename = new char[ nBytes + 1];
memset(filename,0,nLength + 1);
WideCharToMultiByte(CP_OEMCP, 0, FilePath, nLength, filename, nBytes, NULL, NULL);
filename[nBytes] = 0;
CDC *pdc=GetDlgItem(IDC_PICTURE)->GetDC();
HDC hdc=pdc->GetSafeHdc();
Mat img=imread(filename);
CRect rect;
GetDlgItem(IDC_PICTURE)->GetClientRect(&rect);
IplImage ipl_img=IplImage(img); //ipl_image 变量我用cvShowImage 可以看到结果。。。
CvvImage cvvImg;
cvvImg.CopyOf(&ipl_img);
cvvImg.DrawToHDC(hdc,&rect); //这句话怎么会没反应呢?,一直显示不了
ReleaseDC(pdc);
------解决方案--------------------
刚开始不是有一个控制台显示的例子么
可以显示么?
------解决方案--------------------
控制台都运行不了 你配置没问题吧?
------解决方案--------------------
试试用CxImage在MFC上显示图像非常方便。
------解决方案--------------------
直接用BitBlt画呗
------解决方案--------------------
------解决方案--------------------
Mat img=imread(filename); //用成员变量保存起来
CDC *pdc=GetDlgItem(IDC_PICTURE)->GetDC();
HDC hdc=pdc->GetSafeHdc();
IplImage ipl_img=IplImage(img); //img为成员变量
CvvImage cvvImg;
cvvImg.CopyOf(&ipl_img);
cvvImg.DrawToHDC(hdc,&rect);
ReleaseDC(pdc);
把它修改一下放在OnPaint或OnTime(需要设置定时器)中