本文根据opencv2.4.9的帮助文档opencv tutorials帮助文档撰写得来。如有不明白,请参看该文档。程序中代码参考帮助文档,但对文档有一定的更改。
/*
OpenCV2包含不同的模块,不同的模块对应的功能不同。因此在使用的时候需要根据需求加载头文件等
*/
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<iostream> //帮助控制台的输入和输出
/*
为了避免数据结构和函数名发生冲突,运用OpenCV自己的命名空间cv;
*/
using namespace cv;
using namespace std;
int main( )
{
/*
下面这个语句在使用的时候出了错误,当我这样写的时候:
Mat image;
image=imread("d:/1.jpg",CV_LOAD_IMAGE_COLOR);
出现了错误,很奇怪的错误,说是没有声明,可是Mat image 就是声明啊。 按照下面程序中那样就对了,不知道为什么出现这个错误;
imread函数是用来按照格式要求读取照片。
第一个参数就是图像的保存路径名。
第二个参数控制显示的图像是灰度图或者RGB图像或者按照图像本来的样子显示,如下三个选项:
1、CV_LOAD_IMAGE_UNCHANGED (<0) 按照原图显示
2、CV_LOAD_IMAGE_GRAYSCALE ( 0) 显示灰度图
3、CV_LOAD_IMAGE_COLOR (>0) 显示RGB彩色图像
*/
Mat image=imread("d:/2.tiff",CV_LOAD_IMAGE_COLOR);
/*
下面这个if语句判断读入图片是够成功,如果没有成功,则在命令行输出:‘Could not open or find the iamge’
*/
if (!image.data )
{
cout<<"Could not open or find the iamge"<<endl;
}
/*
namedWindow函数用于创建一个窗口,用来显示图形等,其中第一个参数是窗口的名字,我们可以随便命名,
第二个参数用来控制窗口是否可以调整大小。如果是WINDOW_AUTOSIZE(或者是1),窗口适应图像,该窗口大
小根据图片大小自动调整,不能手动调整窗口 大小。如果是CV_WINDOW_NORMAL(或者设置为0),图像适
应窗口,窗口不会根据图像大小调整,在QT上用户可以调整窗口的大小,在Windows中好像不可以。
*/
namedWindow("Display Windows",1);
/*
imshow函数实现图像在一个窗口的显示,第一个参数为定义的窗口名称,第二个参数为要显示的Mat图像矩阵。
*/
imshow("Display window",image);
//waitkey(0)表示等待按键按下,如果没有这个函数,图像将会一闪而过
waitKey(0);
return 0;
}