opencv2.4.9学习_加载并显示一个图像

来源:互联网 发布:淘宝优惠劵机器人 编辑:程序博客网 时间:2024/06/08 02:29

本文根据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;}
0 0