求代码,MFC里利用OPENCV 打开任意图片,谢谢
2个回答
展开全部
#include "stdafx.h"
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = "lena.jpg"; //从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
看不懂继续问好了,不知道你具体的需求,先给你发一个
#include "opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(int argc, char* argv[])
{
const char* imagename = "lena.jpg"; //从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像
imshow("image", img);
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}
看不懂继续问好了,不知道你具体的需求,先给你发一个
追问
不是这个样子的,是在mfc的多文档工程里,可以任意打开一幅图像,就像我们使用word可以任意打开一篇word文档一样,谢谢
展开全部
// 打开图片文件
CString strFilter = "所有文件(*.*)|*.*|";
CFileDialog dlg(TRUE, NULL, NULL, NULL, strFilter,this);
if(!dlg.DoModal() == IDOK)
return;
CString strFileName = dlg.GetPathName();
CFileStatus status;
if(!CFile::GetStatus(strFileName,status))
{
MessageBox(strFileName + "不存在", "信息提示", MB_OK);
return;
}
IplImage* img = cvLoadImage(strFileName.GetBuffer(0));
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
CString strFilter = "所有文件(*.*)|*.*|";
CFileDialog dlg(TRUE, NULL, NULL, NULL, strFilter,this);
if(!dlg.DoModal() == IDOK)
return;
CString strFileName = dlg.GetPathName();
CFileStatus status;
if(!CFile::GetStatus(strFileName,status))
{
MessageBox(strFileName + "不存在", "信息提示", MB_OK);
return;
}
IplImage* img = cvLoadImage(strFileName.GetBuffer(0));
cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
cvShowImage("Example1", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Example1");
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询