opencv读入图像问题
opencv在vs2010上配置完成后#include<opencv2/opencv.hpp>usingnamespacestd;usingnamespacecv;int...
opencv 在vs2010上配置完成后
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc,char** argv){
IplImage* img = cvLoadImage("E:\\lena.jpg");
// Lena.JPEG"图片路径
cvNamedWindow("E:\\lena.jpg",CV_WINDOW_AUTOSIZE);
cvShowImage("E:\\lena.jpg",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("E:\\lena.jpg");return 0;
}
用这段代码就可以显示图像
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("E:\\lena.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("李的靓照",img);
waitKey();
return 0;
}
用这段代码就一直 error 这是哪配置的不对么 还是怎么的
为什么第一段代码就可以显示 展开
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc,char** argv){
IplImage* img = cvLoadImage("E:\\lena.jpg");
// Lena.JPEG"图片路径
cvNamedWindow("E:\\lena.jpg",CV_WINDOW_AUTOSIZE);
cvShowImage("E:\\lena.jpg",img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("E:\\lena.jpg");return 0;
}
用这段代码就可以显示图像
#include <opencv2\opencv.hpp>
#include <iostream>
#include <string>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("E:\\lena.jpg");
if(img.empty())
{
cout<<"error";
return -1;
}
imshow("李的靓照",img);
waitKey();
return 0;
}
用这段代码就一直 error 这是哪配置的不对么 还是怎么的
为什么第一段代码就可以显示 展开
1个回答
展开全部
您好,配置好 OpenCV 以后,包含以下两个头文件:
#include "cv.h"
#include "highgui.h"
IplImage* image=cvLoadImage("D:\\123.jpg",-1);
//函数cvLoadImage()的第1 个参数是图像文件的路径.
//第2 个参数是读取图像的方式:-1 表示按照图像本身的类型来读取,1 表示强制彩色化,0 表示
//强制灰值化.
if(image==NULL)
{
MessageBox("无法读取图像数据!", "提示",MB_OK);//在MFC 工程中这样用
//若在win32 控制台程序中,用printf("无法读取图像数据!\n");
return;//不作任何操作,就不会执行后面的程序了
}
cvNamedWindow("图像显示",CV_WINDOW_AUTOSIZE);
//该函数的功能是按照指定方式创建一个窗口,用于显示图像.
//第1 个参数是窗口的名称,自己可以任意设置
//第2 个参数表示窗口的大小会自动根据图像尺寸而变化
cvShowImage("图像显示",image);
//该函数的功能是在指定的窗口上显示图像.
//第1 个参数是显示图像窗口的名称
//第2 个参数是要显示的图像
cvSaveImage("D:\\saveImage.jpg",image);
//该函数的功能是将图像另存为
//第1 个参数是保存的路径,自己可以设置其它路径
//第2 个参数是要保存的图像
cvWaitKey(0);//一直等待按键没有这句的话图像不能正常显示
cvReleaseImage(&image);//释放图像内存
cvDestroyWindow("图像显示");//销毁窗口资源
//读取和显示完图像之后,要及时释放所占的内存资源。
#include "cv.h"
#include "highgui.h"
IplImage* image=cvLoadImage("D:\\123.jpg",-1);
//函数cvLoadImage()的第1 个参数是图像文件的路径.
//第2 个参数是读取图像的方式:-1 表示按照图像本身的类型来读取,1 表示强制彩色化,0 表示
//强制灰值化.
if(image==NULL)
{
MessageBox("无法读取图像数据!", "提示",MB_OK);//在MFC 工程中这样用
//若在win32 控制台程序中,用printf("无法读取图像数据!\n");
return;//不作任何操作,就不会执行后面的程序了
}
cvNamedWindow("图像显示",CV_WINDOW_AUTOSIZE);
//该函数的功能是按照指定方式创建一个窗口,用于显示图像.
//第1 个参数是窗口的名称,自己可以任意设置
//第2 个参数表示窗口的大小会自动根据图像尺寸而变化
cvShowImage("图像显示",image);
//该函数的功能是在指定的窗口上显示图像.
//第1 个参数是显示图像窗口的名称
//第2 个参数是要显示的图像
cvSaveImage("D:\\saveImage.jpg",image);
//该函数的功能是将图像另存为
//第1 个参数是保存的路径,自己可以设置其它路径
//第2 个参数是要保存的图像
cvWaitKey(0);//一直等待按键没有这句的话图像不能正常显示
cvReleaseImage(&image);//释放图像内存
cvDestroyWindow("图像显示");//销毁窗口资源
//读取和显示完图像之后,要及时释放所占的内存资源。
追问
感谢回答, 这是个是c的程序吧。
我想的是用opencv c++实现一个算法 不是用c实现 就是下边的那个代码为什么不能用的问题 是不是我的环境变量设置的有问题 那为什么c的程序能实现 但是c++的程序不能实现
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询