关于配置opencv环境的问题,大家可以去这参考,非常详细。我也成功地踩到了博主提到的所有bug,我自己是使用了opencv2.4.9+vs2013版本来配置
作者:毛星云(浅墨) 邮箱: happylifemxy@163.com 写作当前博文时配套使用的OpenCV版本: 2.4.8
链接 http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337
惯例先来谈谈图像的载入与输出`
一个测试小程序
#include<iostream>
#include<opencv2/core/core.hpp>//加载核心功能模块
#include<opencv2/highgui/highgui.hpp> //加载高层图形用户GUI界面
using namespace cv;
int main()
{
Mat img = imread("demo.jpg");//读入图像
namedWindow("test image",CV_WINDOW_NORMAL);//创建显示图像的窗口,第二个参数显示用户可以自定义窗口大小
imshow("test image",img);//显示图像
waitKey(0);//暂停
}
大家将所需要的图片重命名为demo.jpg载入进当前project中就ok了
下面详细的了解一下imread,namedWindow,imshow三个函数
imread:Mat imread(const string& filename, intflags=1 );
第一个参数就载入我们所需要图片的路径名,第二个参数为int类型的flag,默认值为1,通常我们在忽略这个参数时,默认载入rgb图像,第二个参数flag不为空时,定义如下:flags >0返回一个3通道的彩色图像。
flags =0返回灰度图像。
flags <0返回包含Alpha通道的加载的图像
#include<iostream>
#include<opencv2/core/core.hpp>//加载核心功能模块
#include<opencv2/highgui/highgui.hpp> //加载高层图形用户GUI界面
using namespace cv;
int main()
{
Mat img = imread("demo.jpg");//读入图像
Mat gray = imread("demo.jpg", 0);//读入灰度图像
namedWindow("test image",CV_WINDOW_NORMAL);//创建显示图像的窗口,第二个参数显示用户可以自定义窗口大小
//imshow("test image",img);//显示图像
imshow("test image",gray);//显示灰度图像
waitKey(0);
}
灰度图如下所示:
namedWindow():是一个高层调用接口,由HighGUI库提供,顾名思义,此函数在屏幕上创建一个窗口来显示图像。参数1指出窗口标题,参数2可以填如下的值:
WINDOW_NORMAL设置了这个值,用户便可以改变窗口的大小
WINDOW_AUTOSIZE如果设置了这个值,窗口大小会自动适应所显示的图像
,对图像进行拉伸来适应窗口大小。
WINDOW_OPENGL 如果设置了这个值的话,窗口创建的时候便会支持OpenGL。
imshow:
通过查看此函数的声明,我们可以知道第一个参数名为window name,即我们上面namedWindow里面第一个参数,第二个是一个mat数据类型,填写需要显示的图像。
CV_EXPORTS_W void imshow(const string& winname, InputArray mat);`
下次写写数字图像类型吧,
今天配置opencv弄了一天
ps.没有vs2013的可以私信我。