VS2012 MFC,OpenCV读取不到摄像头的内容,??

void Copcv2Dlg::DrawPicToHDC(IplImage *img, UINT ID)
{
CDC *pDC = GetDlgItem(ID)->GetDC();
HDC hDC= pDC->GetSafeHdc();
CRect rect;
GetDlgItem(ID)->GetClientRect(&rect);
CvvImage cimg;
cimg.CopyOf( img ); // 复制图片
cimg.DrawToHDC( hDC, &rect ); // 将图片绘制到显示控件的指定区域内
ReleaseDC( pDC );
}

void Copcv2Dlg::OnBnClickedOpencam()
{
pCapture = cvCaptureFromCAM(0);
if(!pCapture)
{
MessageBox("camear open error!");
ExitProcess(0);
}
SetTimer(1,33,NULL);
}

void Copcv2Dlg::OnTimer(UINT_PTR nIDEvent)
{
image = cvQueryFrame(pCapture);

DrawPicToHDC(image, IDC_STATIC_PIC);
CDialogEx::OnTimer(nIDEvent);
}
摄像头正常打开,但是读取不到图像是怎么回事?

1个回答

 #include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>

using namespace cv;


int main()
{
    VideoCapture cap(0);
    if(!cap.isOpened())
    {
        return -1;
    }
    Mat frame;
    Mat edges;

    bool stop = false;
    while(!stop)
    {
        cap>>frame;
        imshow("test",edges);
        if(waitKey(30) >=0)
            stop = true;
    }
    return 0;
}
lx624909677
lx624909677 回复Dir_miao: hDC这个你看下是要显示图片的控件吗
大约 3 年之前 回复
Dir_miao
Dir_miao 请问我的程序哪里有问题,为什么打开了摄像头,但就是显示不到MFC界面上呢?
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!