OpenCV基础学习一

一、系统环境变量配置

将opencv\build\x64\vc14\bin添加到系统环境变量

电脑重启应用环境变量

二、工程包含目录配置

选择win32控制台应用程序,打开属性管理器展开【Debug\Win32】双击Microsoft。Cpp.Win32.userDirectories

在通用属性下选择vc++目录中的包含目录,添加以下目录:

1、opencv\build\incude

2、opencv\build\incude\opencv

3、opencv\build\incude\opencv2

三、工程库目录配置

同上打开VC++目录中的库目录,添加以下目录:

1、opencv\build\x64\vc14\lib

四、链接库的配置

同上打开通用属性中的链接库下的输入选择附加依赖项,添加:

opencv_wolrd310d.lib//debug模式

opencv_world310.lib//release模式

五、测试

#include

using namespace cv;

void main()

{

//【1】读入一张图片

Matimg = imread("E:\\桌面个性化主题\\1.jpg");

//【2】在窗口中显示载入的图片

imshow("【载入的图片】",img);

//等待6000ms后窗口自动关闭

waitKey(6000);

}

此示例为打开一张图片并停留6000ms

六、我所遇到的报错

1、opencv_world310d.dll缺失报错

参考网上资料将opencv\build\x64\vc14\bin下内容复制到sysWOW后问题没有解决,再复制到windows32下,完美运行,如果依然找不到,看一下报错,是不是缺失310版本,若不是则是链接库输入错误。

2、找不到头文件

这个也是因为库配置问题导致的

七、测试结果

 

八、更多测试

1、图像腐蚀

#include//OpenCVhighgui模块头文件

#include//OpenCV图像处理头文件

using namespacecv;//包含cv命名空间

intmain()//控制台应用程序的入口函数

{

//载入原图

MatsrcImage = imread("E:\\My Project\\My Visual StudioProject\\OpenCV\\ImageProc\\5.jpg");

//显示原图

imshow("【原图】腐蚀操作",srcImage);

//进行腐蚀操作

Matelement = getStructuringElement(MORPH_RECT, Size(15, 15));

MatdstImage;

erode(srcImage,dstImage, element);

//显示效果图

imshow("【效果图】腐蚀操作",dstImage);

waitKey(0);

return0;

}

效果图

 

2、图像模糊

//-------------------------【头文件、命名空间包含部分】------------------------

//                   描述:包含程序所使用的头文件和命名空间

//-----------------------------------------------------------------------------

#include//OpenCVhighgui模块头文件

#include//OpenCV图像处理头文件

using namespacecv;//包含cv命名空间

 

//-------------------------【常用函数】---------------------------

int fushi();

int mohu();

//----------------------------------------------------------------

int main()

{

//fushi();

mohu();

return0;

}

int mohu()

{

//【载入原图】

MatsrcImage = imread("E:\\My Project\\My Visual StudioProject\\OpenCV\\ImageProc\\4.jpg");

//【显示原图】

imshow("均值滤波【原图】",srcImage);

//【进行均值滤波操作

MatdstImage;

blur(srcImage,dstImage, Size(7, 7));

//【显示效果图】

imshow("均值滤波【效果图】",dstImage);

waitKey(0);

return0;

}

效果图

 OpenCV基础学习一_第1张图片

3、边缘检测

int bianyuan()

{

//【载入原始图】

MatsrcImage = imread("E:\\My Project\\My Visual StudioProject\\OpenCV\\ImageProc\\3.jpg");

imshow("【原始图】Canny边缘检测",srcImage);

//【1、转为灰度图像】

Matedge, grayImage;

cvtColor(srcImage,grayImage, CV_BGR2GRAY);

//【2、先使用3x3内核来降噪】

blur(grayImage,edge, Size(3, 3));

//【3、运行canny算子】

Canny(edge,edge, 3, 9, 3);

//【显示效果图】

imshow("【效果图】Canny边缘检测",edge);

waitKey(0);

return0;

}

 

效果图

 

4、视频操作

int shipin()

{

//【1、读入视频】

VideoCapturecapture("F:\\Users\\Administrator\\Pictures\\视频\\IMG_7283.MOV");

//【2、循环显示每一帧】

while(1)

{

Matframe;//定义一个Mat变量,用于存储每一帧的图像

capture>>frame;//读取当前帧

//若视频播放完成,则推出循环

if(frame.empty())

{

break;

}

imshow("【读取视频】",frame);//显示当前帧

waitKey(30);//延时30ms

}

return0;

}

 

效果图

 【图片超过大小限制就不上传了】

相关函数:

Mat 结构体

Imread("文件位置");

Imshow("文件说明",指针);

waitKey(延时毫秒数,为0则按键触发停止);

Blur(初始图片指针,保存转换图片指针,规模)//均值滤波函数

getStructuringElement()//腐蚀操作函数

cvtColor(始地址, 保存地址,CV_BGR2GRAY);//灰度转换函数

Canny()//canny算法

你可能感兴趣的:(OpenCV学习)