opencv打开多种情况下的图像

来源:互联网 发布:猫眼数据 编辑:程序博客网 时间:2024/05/01 01:25

1、读取特定路径下的图像并显示:

const char* fn_path = "D:\\image.bmp";

IplImage* img_path = cvLoadImage(fn_path,CV_LOAD_IMAGE_COLOR);

用到函数IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR )。函数中flags :指定读入图像的颜色和深度:指定的颜色可以将输入的图片转为3通道(CV_LOAD_IMAGE_COLOR), 单通道 (CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。

cvNamedWindow("iamge",1);

cvShowImage("image",img_path);

cvWaitKey(0);

cvReleaseImage(&img_path);

cvDestroyWindow("image");

2、打开摄像头并读取图像

CvCapture* capture;//CvCapture 是视频获取结构

if(!capture)

{

capture = cvCaptureFromCAM(0);

}

if(!capture)

{

AfxMessageBox("无法打开摄像头");

}

IplImage* img = QueryFrame(capture);

3、接2,使用MFC,opencv打开摄像头,将图像显示到dialog中。

CvvImage m_cvvImage;//要利用MFC显示图像,CvvImage很方便

m_cvvImage.CopyOf(img,1);

m_cvvImage.DrawToHDC(hDC, &rect);

其中hDC为要显示图像控件的DC,可以这样获取:

CDC *pDC;

HDC hDC;

CWnd *pwnd;

CRect rect;

pwnd = GetDlgItem(IDC_XX);//显示图像控件的ID

pDC = pwnd->GetDC();

hDC = pDC->GetSafeHdc;

pwnd->GetClientRect(&rect);

4、打开视频文件并显示

方法同2的步骤,只需利用打开视频文件的cvCreateFileCapture。直接显示的话,参考1,在MFC显示的话,参考3

5、MFC使用cvFileDialog打开指定图像

GetPathName获取图像路径,即可轻松打开,将其显示到图像控件中参考3。



0 0
原创粉丝点击