在OpenCV中,有一些函数可用于图像读取和保存,这些函数都在命名空间cv中,所以使用时有两种方式,一种是在函数头部声明using namespace cv;第二种方式就是使用cv作为函数的限定。推荐第二种,以防多个空间时有重复的变量,更加专业。
从文件中读入一幅图像可以使用imread函数来读取图像,
Mat img=imread(filename);
该语句将filename所指定路径的指定文件读取到img数组中,该函数读取的是默认的三通道图像,读取的顺序默认情况下是BGR顺序,如果想得到单通道(灰度级的)图像,则可以使用下面的方式:
Mat img=imread(filename,0);
当读取完图像数据后可分别使用imshow(filename,img)来显示图像。
我的代码如下:
#include <iostream>
#include <opencv.hpp>
#include <string>
int main()
{
cv::Mat img = cv::imread("D:/13.jpg",0);//得到灰度图像
if(img.empty())
{
std::cout<<"error";
return -1;
}
cv::imshow("测试图片",img);
cv::waitKey();
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~完~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
参考文献:http://blog.csdn.net/majinggogogo/article/details/7313909